From: Maximiliano Curia Date: Wed, 13 Feb 2019 17:39:04 +0000 (+0000) Subject: Import plasma-discover_5.14.5.1.orig.tar.xz X-Git-Tag: archive/raspbian/5.26.90-1+rpi1~1^2^2^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=eaca0fa83e7d7eac1b06302e205f0f925771f104;p=plasma-discover.git Import plasma-discover_5.14.5.1.orig.tar.xz [dgit import orig plasma-discover_5.14.5.1.orig.tar.xz] --- eaca0fa83e7d7eac1b06302e205f0f925771f104 diff --git a/.arcconfig b/.arcconfig new file mode 100644 index 0000000..bc0df43 --- /dev/null +++ b/.arcconfig @@ -0,0 +1,4 @@ +{ + "phabricator.uri" : "https://phabricator.kde.org/" +} + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..d47c107 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,96 @@ +project(discover) +set(PROJECT_VERSION "5.14.5") +set(PROJECT_VERSION_MAJOR 5) + +cmake_minimum_required(VERSION 2.8.12) + +set(QT_MIN_VERSION "5.11.0") +set(KF5_MIN_VERSION "5.50.0") + +find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) + +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} "${CMAKE_SOURCE_DIR}/cmake") + +find_package(Qt5 ${QT_MIN_VERSION} REQUIRED CONFIG COMPONENTS Widgets Test Network Xml Concurrent DBus Quick) +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) +include(ECMInstallIcons) +include(ECMMarkAsTest) +include(ECMAddTests) +include(GenerateExportHeader) +include(ECMQtDeclareLoggingCategory) + +find_package(PkgConfig REQUIRED) + +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED CoreAddons Config Crash DBusAddons I18n Archive XmlGui ItemModels KIO) +find_package(KF5Kirigami2 2.1.0) + +find_package(packagekitqt5 CONFIG) +find_package(AppStreamQt 0.11.1 CONFIG) +find_package(KF5Attica 5.23 CONFIG) +find_package(KF5NewStuff 5.23 CONFIG) + +set(CMAKE_AUTORCC ON) + +pkg_check_modules(Flatpak IMPORTED_TARGET flatpak>=0.6.12) +pkg_check_modules(Fwupd IMPORTED_TARGET fwupd>=1.0.6) + +if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") + # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. + # 3.10+ lets us provide more macro names that require automoc. + list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "DISCOVER_BACKEND_PLUGIN") +endif() + +configure_file(DiscoverVersion.h.in DiscoverVersion.h) + +add_subdirectory(libdiscover) +add_subdirectory(discover) +add_subdirectory(exporter) + +option(WITH_NOTIFIER "Build and install the notifier plasmoid" ON) +if(WITH_NOTIFIER) + find_package(KF5 REQUIRED Notifications KIO) + add_subdirectory(notifier) +endif() + +set_package_properties(KF5Attica PROPERTIES + DESCRIPTION "KDE Framework that implements the Open Collaboration Services API" + PURPOSE "Required to build the KNewStuff3 backend" + TYPE OPTIONAL) +set_package_properties(KF5Kirigami2 PROPERTIES + DESCRIPTION "KDE's lightweight user interface framework for mobile and convergent applications" + URL "https://techbase.kde.org/Kirigami" + PURPOSE "Required by discover qml components" + TYPE RUNTIME) +set_package_properties(KF5NewStuff PROPERTIES + DESCRIPTION "Qt library that allows to interact with KNewStuff implementations" + PURPOSE "Required to build the KNS backend" + TYPE OPTIONAL) +set_package_properties(packagekitqt5 PROPERTIES + DESCRIPTION "Library that exposes PackageKit resources" + URL "http://www.packagekit.org" + PURPOSE "Required to build the PackageKit backend" + TYPE OPTIONAL) +set_package_properties(AppStreamQt PROPERTIES + DESCRIPTION "Library that lists Appstream resources" + URL "http://www.freedesktop.org" + PURPOSE "Required to build the PackageKit backend" + TYPE OPTIONAL) +set_package_properties(FLATPAK PROPERTIES + DESCRIPTION "Library that exposes flatpak repositories" + URL "http://www.freedesktop.org" + PURPOSE "Required to build the Flatpak backend" + TYPE OPTIONAL) +set_package_properties(LIBFWUPD PROPERTIES + DESCRIPTION "Library that exposes fwupd" + URL "http://www.fwupd.org" + PURPOSE "Required to build the Fwupd backend" + TYPE OPTIONAL) + +feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + +install( FILES discover.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) + +find_package(KF5I18n CONFIG REQUIRED) +ki18n_install(po) diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..4432540 --- /dev/null +++ b/COPYING @@ -0,0 +1,676 @@ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/COPYING.GFDL b/COPYING.GFDL new file mode 100644 index 0000000..4a0fe1c --- /dev/null +++ b/COPYING.GFDL @@ -0,0 +1,397 @@ + GNU Free Documentation License + Version 1.2, November 2002 + + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/COPYING.LIB b/COPYING.LIB new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/COPYING.LIB @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/DiscoverVersion.h.in b/DiscoverVersion.h.in new file mode 100644 index 0000000..f9f74e3 --- /dev/null +++ b/DiscoverVersion.h.in @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2014 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef DISCOVERVERSION_H +#define DISCOVERVERSION_H + +#include + +static QLatin1String version("@PROJECT_VERSION@"); + +#endif diff --git a/Messages.sh b/Messages.sh new file mode 100644 index 0000000..1eb9549 --- /dev/null +++ b/Messages.sh @@ -0,0 +1,8 @@ +#! /usr/bin/env bash + +$EXTRACTRC --context="Category" --tag-group=none --tag=Name `find libdiscover -name "*-categories.xml"` >> categoriesxml.cpp +$XGETTEXT categoriesxml.cpp `find libdiscover -name \*.cpp` -o $podir/libdiscover.pot +$XGETTEXT `find discover -name \*.cpp -o -name \*.qml -o -name \*.js` -o $podir/plasma-discover.pot +$XGETTEXT `find notifier -name \*.cpp` -o $podir/plasma-discover-notifier.pot +rm -f muonrc.cpp +rm -f categoriesxml.cpp diff --git a/cmake/FindGLib.cmake b/cmake/FindGLib.cmake new file mode 100644 index 0000000..8939d85 --- /dev/null +++ b/cmake/FindGLib.cmake @@ -0,0 +1,83 @@ +# FindGLib.cmake +# +# +# CMake support for GLib/GObject/GIO. +# +# License: +# +# Copyright (c) 2016 Evan Nemerson +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, copy, +# modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +find_package(PkgConfig) + +if(PKG_CONFIG_FOUND) + pkg_search_module(GLib_PKG glib-2.0) +endif() + +find_library(GLib_LIBRARY glib-2.0 HINTS ${GLib_PKG_LIBRARY_DIRS}) +set(GLib glib-2.0) + +if(GLib_LIBRARY AND NOT GLib_FOUND) + add_library(${GLib} SHARED IMPORTED) + set_property(TARGET ${GLib} PROPERTY IMPORTED_LOCATION "${GLib_LIBRARY}") + set_property(TARGET ${GLib} PROPERTY INTERFACE_COMPILE_OPTIONS "${GLib_PKG_CFLAGS_OTHER}") + + find_path(GLib_INCLUDE_DIRS "glib.h" + HINTS ${GLib_PKG_INCLUDE_DIRS} + PATH_SUFFIXES "glib-2.0") + + get_filename_component(GLib_LIBDIR "${GLib}" DIRECTORY) + find_path(GLib_CONFIG_INCLUDE_DIR "glibconfig.h" + HINTS + ${GLib_LIBDIR} + ${GLib_PKG_INCLUDE_DIRS} + PATHS + "${CMAKE_LIBRARY_PATH}" + PATH_SUFFIXES + "glib-2.0/include" + "glib-2.0") + unset(GLib_LIBDIR) + + if(GLib_CONFIG_INCLUDE_DIR) + file(STRINGS "${GLib_CONFIG_INCLUDE_DIR}/glibconfig.h" GLib_MAJOR_VERSION REGEX "^#define GLIB_MAJOR_VERSION +([0-9]+)") + string(REGEX REPLACE "^#define GLIB_MAJOR_VERSION ([0-9]+)$" "\\1" GLib_MAJOR_VERSION "${GLib_MAJOR_VERSION}") + file(STRINGS "${GLib_CONFIG_INCLUDE_DIR}/glibconfig.h" GLib_MINOR_VERSION REGEX "^#define GLIB_MINOR_VERSION +([0-9]+)") + string(REGEX REPLACE "^#define GLIB_MINOR_VERSION ([0-9]+)$" "\\1" GLib_MINOR_VERSION "${GLib_MINOR_VERSION}") + file(STRINGS "${GLib_CONFIG_INCLUDE_DIR}/glibconfig.h" GLib_MICRO_VERSION REGEX "^#define GLIB_MICRO_VERSION +([0-9]+)") + string(REGEX REPLACE "^#define GLIB_MICRO_VERSION ([0-9]+)$" "\\1" GLib_MICRO_VERSION "${GLib_MICRO_VERSION}") + set(GLib_VERSION "${GLib_MAJOR_VERSION}.${GLib_MINOR_VERSION}.${GLib_MICRO_VERSION}") + unset(GLib_MAJOR_VERSION) + unset(GLib_MINOR_VERSION) + unset(GLib_MICRO_VERSION) + + list(APPEND GLib_INCLUDE_DIRS ${GLib_CONFIG_INCLUDE_DIR}) + set_property(TARGET ${GLib} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GLib_INCLUDE_DIRS}") + endif() +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GLib + REQUIRED_VARS + GLib_LIBRARY + GLib_INCLUDE_DIRS + VERSION_VAR + GLib_VERSION) diff --git a/cmake/FindGObject.cmake b/cmake/FindGObject.cmake new file mode 100644 index 0000000..7da3430 --- /dev/null +++ b/cmake/FindGObject.cmake @@ -0,0 +1,81 @@ +# FindGObject.cmake +# +# +# CMake support for GObject. +# +# License: +# +# Copyright (c) 2016 Evan Nemerson +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, copy, +# modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +find_package(PkgConfig) + +set(GObject_DEPS + GLib) + +if(PKG_CONFIG_FOUND) + pkg_search_module(GObject_PKG gobject-2.0) +endif() + +find_library(GObject_LIBRARY gobject-2.0 HINTS ${GObject_PKG_LIBRARY_DIRS}) +set(GObject gobject-2.0) + +if(GObject_LIBRARY AND NOT GObject_FOUND) + add_library(${GObject} SHARED IMPORTED) + set_property(TARGET ${GObject} PROPERTY IMPORTED_LOCATION "${GObject_LIBRARY}") + set_property(TARGET ${GObject} PROPERTY INTERFACE_COMPILE_OPTIONS "${GObject_PKG_CFLAGS_OTHER}") + + find_path(GObject_INCLUDE_DIR "gobject/gobject.h" + HINTS ${GObject_PKG_INCLUDE_DIRS}) + + find_package(GLib) + set(GObject_VERSION "${GLib_VERSION}") + + list(APPEND GObject_DEPS_FOUND_VARS "GLib_FOUND") + list(APPEND GObject_INCLUDE_DIRS ${GLib_INCLUDE_DIRS}) + set_property(TARGET ${GObject} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${GObject_INCLUDE_DIR}") + + set_property (TARGET "${GObject}" APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${GLib}") +endif() + +find_program(GLib_GENMARSHAL glib-genmarshal) +if(GLib_GENMARSHAL AND NOT GLib_FOUND) + add_executable(glib-genmarshal IMPORTED) + set_property(TARGET glib-genmarshal PROPERTY IMPORTED_LOCATION "${GLib_GENMARSHAL}") +endif() + +find_program(GLib_MKENUMS glib-mkenums) +if(GLib_MKENUMS AND NOT GLib_FOUND) + add_executable(glib-mkenums IMPORTED) + set_property(TARGET glib-mkenums PROPERTY IMPORTED_LOCATION "${GLib_MKENUMS}") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GObject + REQUIRED_VARS + GObject_LIBRARY + GObject_INCLUDE_DIRS + ${GObject_DEPS_FOUND_VARS} + VERSION_VAR + GObject_VERSION) + +unset(GObject_DEPS_FOUND_VARS) diff --git a/cmake/FindPackageKitQt2.cmake b/cmake/FindPackageKitQt2.cmake new file mode 100644 index 0000000..0887e8f --- /dev/null +++ b/cmake/FindPackageKitQt2.cmake @@ -0,0 +1,57 @@ +# - Try to find the PackageKitQt2 library +# Once done this will define +# +# PACKAGEKITQT2_FOUND - system has the PackageKitQt2 library +# PACKAGEKITQT2_INCLUDEDIR - the PackageKitQt2 include directory +# PACKAGEKITQT2_LIBRARY - Link this to use the PackageKitQt2 +# +# Copyright © 2010, Mehrdad Momeny +# Copyright © 2010, Harald Sitter +# Copyright © 2013, Lukas Appelhans +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +if (NOT WIN32) + find_package(PkgConfig) + pkg_check_modules(QPACKAGEKIT2 packagekit-qt2>=0.8) +endif() + +set(PackageKitQt2_FOUND FALSE) +if(QPACKAGEKIT2_FOUND) + find_library(PACKAGEKITQT2_LIBRARY NAMES packagekit-qt2 + HINTS ${QPACKAGEKIT2_LIBRARIES} + ) + + find_path(PACKAGEKITQT2_INCLUDEDIR PackageKit/packagekit-qt2/daemon.h + HINTS ${QPACKAGEKIT2_INCLUDEDIR} + ) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(PackageKitQt2 DEFAULT_MSG PACKAGEKITQT2_LIBRARY PACKAGEKITQT2_INCLUDEDIR) + if(PACKAGEKITQT2_LIBRARY AND PACKAGEKITQT2_INCLUDEDIR) + mark_as_advanced(PACKAGEKITQT2_INCLUDEDIR PACKAGEKITQT2_LIBRARY) + set(PackageKitQt2_FOUND TRUE) + endif() +endif() diff --git a/cmake/FindQtOAuth.cmake b/cmake/FindQtOAuth.cmake new file mode 100644 index 0000000..9bec3a5 --- /dev/null +++ b/cmake/FindQtOAuth.cmake @@ -0,0 +1,58 @@ +# - Try to find the QtOAuth library +# Once done this will define +# +# QTOAUTH_FOUND - system has the QtOAuth library +# QTOAUTH_INCLUDE_DIR - the QtOAuth include directory +# QTOAUTH_LIBRARY - Link this to use the QtOAuth +# QTOAUTH_DEFINITIONS - Compiler switches required for using QOAuth +# +# Copyright © 2010, Mehrdad Momeny +# Copyright © 2010, Harald Sitter +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +if (QTOAUTH_INCLUDE_DIR AND QTOAUTH_LIBRARY) + # in cache already + set(QTOAUTH_FOUND TRUE) +else (QTOAUTH_INCLUDE_DIR AND QTOAUTH_LIBRARY) + if (NOT WIN32) + find_package(PkgConfig) + pkg_check_modules(PC_QTOAUTH QUIET qoauth) + set(QTOAUTH_DEFINITIONS ${PC_QTOAUTH_CFLAGS_OTHER}) + endif(NOT WIN32) + + find_library(QTOAUTH_LIBRARY NAMES qoauth + HINTS ${PC_QTOAUTH_LIBDIR} ${PC_QTOAUTH_LIBRARY_DIRS} + ) + + find_path(QTOAUTH_INCLUDE_DIR QtOAuth/interface.h + HINTS ${PC_QTOAUTH_INCLUDEDIR} ${PC_QTOAUTH_INCLUDE_DIRS} + ) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(QtOAuth DEFAULT_MSG QTOAUTH_LIBRARY QTOAUTH_INCLUDE_DIR) + + mark_as_advanced(QTOAUTH_INCLUDE_DIR QTOAUTH_LIBRARY) +endif (QTOAUTH_INCLUDE_DIR AND QTOAUTH_LIBRARY) diff --git a/discover.categories b/discover.categories new file mode 100644 index 0000000..370988c --- /dev/null +++ b/discover.categories @@ -0,0 +1,2 @@ +org.kde.plasma.libdiscover libdiscover IDENTIFIER [LIBDISCOVER_LOG] +org.kde.plasma.discover discover IDENTIFIER [DISCOVER_LOG] diff --git a/discover/CMakeLists.txt b/discover/CMakeLists.txt new file mode 100644 index 0000000..8c68d2a --- /dev/null +++ b/discover/CMakeLists.txt @@ -0,0 +1,81 @@ +add_subdirectory(icons) +if(BUILD_TESTING) + add_subdirectory(autotests) +endif() + +include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/..) + +ecm_qt_declare_logging_category(plasma_discover_SRCS HEADER discover_debug.h IDENTIFIER DISCOVER_LOG CATEGORY_NAME org.kde.plasma.discover) + +add_executable(plasma-discover ${plasma_discover_SRCS} + main.cpp + DiscoverObject.cpp + DiscoverDeclarativePlugin.cpp + + FeaturedModel.cpp + PaginateModel.cpp + UnityLauncher.cpp + ReadFile.cpp + + resources.qrc + assets.qrc +) +add_executable(Plasma::Discover ALIAS plasma-discover) +set_target_properties(plasma-discover PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover) + +target_link_libraries(plasma-discover PUBLIC + KF5::Crash + KF5::DBusAddons + KF5::I18n + KF5::XmlGui + KF5::ItemModels + KF5::KIOWidgets + Qt5::Quick + Discover::Common +) + +install(TARGETS plasma-discover ${INSTALL_TARGETS_DEFAULT_ARGS} ) + +# if (BUILD_DummyBackend) +# target_compile_definitions(plasma-discover PRIVATE $<$:QT_QML_DEBUG=1>) +# endif() + +# Standard desktop file accepts local files as input. +set(DesktopNoDisplay "false") +find_program(DPKG dpkg) +find_program(RPM rpm) +set(DesktopMimeType "") +if(DPKG) + set(DesktopMimeType "${DesktopMimeType}application/vnd.debian.binary-package;") +endif() +if(RPM) + set(DesktopMimeType "${DesktopMimeType}application/x-rpm;") +endif() +set(DesktopExec "plasma-discover %F") +configure_file(org.kde.discover.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.desktop) +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) + +# Support appstream:// URI +set(DesktopNoDisplay "true") +set(DesktopMimeType "x-scheme-handler/appstream;") +set(DesktopExec "plasma-discover %U") +configure_file(org.kde.discover.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.urlhandler.desktop) +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.urlhandler.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) + +# support snap:/ URI +set(DesktopNoDisplay "true") +set(DesktopMimeType "x-scheme-handler/snap;") +set(DesktopExec "plasma-discover %U") +configure_file(org.kde.discover.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.snap.urlhandler.desktop) +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.snap.urlhandler.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) + +if(EXISTS "/etc/debian_version") + set(DesktopNoDisplay "true") + set(DesktopMimeType "x-scheme-handler/apt") + set(DesktopExec "plasma-discover %U") + configure_file(org.kde.discover.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.apt.urlhandler.desktop) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.apt.urlhandler.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) +endif() + +install(FILES plasmadiscoverui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/plasmadiscover) +install( FILES org.kde.discover.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/discover/DiscoverDeclarativePlugin.cpp b/discover/DiscoverDeclarativePlugin.cpp new file mode 100644 index 0000000..5cfa4ab --- /dev/null +++ b/discover/DiscoverDeclarativePlugin.cpp @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include "DiscoverDeclarativePlugin.h" +#include "ReadFile.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void DiscoverDeclarativePlugin::initializeEngine(QQmlEngine* engine, const char* uri) +{ + engine->rootContext()->setContextProperty(QStringLiteral("ResourcesModel"), ResourcesModel::global()); + engine->rootContext()->setContextProperty(QStringLiteral("TransactionModel"), TransactionModel::global()); + engine->rootContext()->setContextProperty(QStringLiteral("SourcesModel"), SourcesModel::global()); + engine->rootContext()->setContextProperty(QStringLiteral("CategoryModel"), CategoryModel::global()); + QQmlExtensionPlugin::initializeEngine(engine, uri); +} + +void DiscoverDeclarativePlugin::registerTypes(const char* /*uri*/) +{ + qmlRegisterType("org.kde.discover", 2, 0, "TransactionListener"); + qmlRegisterType(); + qmlRegisterType("org.kde.discover", 2, 0, "ResourcesUpdatesModel"); + qmlRegisterType("org.kde.discover", 2, 0, "ResourcesProxyModel"); + + qmlRegisterType("org.kde.discover", 2, 0, "ReviewsModel"); + qmlRegisterType("org.kde.discover", 2, 0, "ApplicationAddonsModel"); + qmlRegisterType("org.kde.discover", 2, 0, "ScreenshotsModel"); + qmlRegisterType("org.kde.discover", 2, 0, "ActionsModel"); + qmlRegisterType("org.kde.discover", 2, 0, "UpdateModel"); + qmlRegisterType("org.kde.discover", 2, 0, "ReadFile"); + + qmlRegisterUncreatableType("org.kde.discover", 2, 0, "QAction", QStringLiteral("Use QQC Action")); + qmlRegisterUncreatableType("org.kde.discover", 2, 0, "AbstractResource", QStringLiteral("should come from the ResourcesModel")); + qmlRegisterUncreatableType("org.kde.discover", 2, 0, "AbstractSourcesBackend", QStringLiteral("should come from the SourcesModel")); + qmlRegisterUncreatableType("org.kde.discover", 2, 0, "Transaction", QStringLiteral("should come from the backends")); + qmlRegisterUncreatableType("org.kde.discover", 2, 0, "SourcesModelClass", QStringLiteral("should come from the backends")); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlProtectModule("org.kde.discover", 2); + qRegisterMetaType>(); +} diff --git a/discover/DiscoverDeclarativePlugin.h b/discover/DiscoverDeclarativePlugin.h new file mode 100644 index 0000000..501b3d7 --- /dev/null +++ b/discover/DiscoverDeclarativePlugin.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef DISCOVERDECLARATIVEPLUGIN_H +#define DISCOVERDECLARATIVEPLUGIN_H + +#include + +class DiscoverDeclarativePlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") + public: + void initializeEngine(QQmlEngine* engine, const char* uri) override; + void registerTypes(const char* uri) override; +}; + +#endif diff --git a/discover/DiscoverObject.cpp b/discover/DiscoverObject.cpp new file mode 100644 index 0000000..a9f9063 --- /dev/null +++ b/discover/DiscoverObject.cpp @@ -0,0 +1,471 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include "DiscoverObject.h" +#include "PaginateModel.h" +#include "UnityLauncher.h" +#include "FeaturedModel.h" +#include "CachedNetworkAccessManager.h" +#include "DiscoverDeclarativePlugin.h" +#include "DiscoverBackendsFactory.h" + +// Qt includes +#include +#include "discover_debug.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// KDE includes +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +// #include + +// DiscoverCommon includes +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +class OurSortFilterProxyModel : public QSortFilterProxyModel, public QQmlParserStatus +{ + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) +public: + void classBegin() override {} + void componentComplete() override { + if (dynamicSortFilter()) + sort(0); + } +}; + +class KIOAccessManagerFactory : public QQmlNetworkAccessManagerFactory +{ +public: + KIOAccessManagerFactory() = default; + ~KIOAccessManagerFactory() = default; + QNetworkAccessManager *create(QObject *parent) override + { + return new KIO::AccessManager(parent); + } +}; + +DiscoverObject::DiscoverObject(CompactMode mode) + : QObject() + , m_engine(new QQmlApplicationEngine) + , m_mode(mode) + , m_networkAccessManagerFactory(new CachedNetworkAccessManagerFactory) +{ + setObjectName(QStringLiteral("DiscoverMain")); + m_engine->rootContext()->setContextObject(new KLocalizedContext(m_engine)); + auto factory = m_engine->networkAccessManagerFactory(); + m_engine->setNetworkAccessManagerFactory(nullptr); + delete factory; + m_engine->setNetworkAccessManagerFactory(new KIOAccessManagerFactory()); + + qmlRegisterType("org.kde.discover.app", 1, 0, "UnityLauncher"); + qmlRegisterType("org.kde.discover.app", 1, 0, "PaginateModel"); + qmlRegisterType("org.kde.discover.app", 1, 0, "KConcatenateRowsProxyModel"); + qmlRegisterType("org.kde.discover.app", 1, 0, "FeaturedModel"); + qmlRegisterType("org.kde.discover.app", 1, 0, "QSortFilterProxyModel"); + + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterUncreatableType("org.kde.discover.app", 1, 0, "DiscoverMainWindow", QStringLiteral("don't do that")); + setupActions(); + + auto uri = "org.kde.discover"; + DiscoverDeclarativePlugin* plugin = new DiscoverDeclarativePlugin; + plugin->setParent(this); + plugin->initializeEngine(m_engine, uri); + plugin->registerTypes(uri); + + //Here we set up a cache for the screenshots + delete m_engine->networkAccessManagerFactory(); + m_engine->setNetworkAccessManagerFactory(m_networkAccessManagerFactory.data()); + m_engine->rootContext()->setContextProperty(QStringLiteral("app"), this); + + connect(m_engine, &QQmlApplicationEngine::objectCreated, this, &DiscoverObject::integrateObject); + m_engine->load(QUrl(QStringLiteral("qrc:/qml/DiscoverWindow.qml"))); + + connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, this, [this](){ + const auto objs = m_engine->rootObjects(); + for(auto o: objs) + delete o; + }); +} + +DiscoverObject::~DiscoverObject() +{ + delete m_engine; +} + +bool DiscoverObject::isRoot() +{ + return ::getuid() == 0; +} + +QStringList DiscoverObject::modes() const +{ + QStringList ret; + QObject* obj = rootObject(); + for(int i = obj->metaObject()->propertyOffset(); imetaObject()->propertyCount(); i++) { + QMetaProperty p = obj->metaObject()->property(i); + QByteArray compName = p.name(); + if(compName.startsWith("top") && compName.endsWith("Comp")) { + ret += QString::fromLatin1(compName.mid(3, compName.length()-7)); + } + } + return ret; +} + +void DiscoverObject::openMode(const QString& _mode) +{ + QObject* obj = rootObject(); + if (!obj) { + qCWarning(DISCOVER_LOG) << "could not get the main object"; + return; + } + + if(!modes().contains(_mode, Qt::CaseInsensitive)) + qCWarning(DISCOVER_LOG) << "unknown mode" << _mode << modes(); + + QString mode = _mode; + mode[0] = mode[0].toUpper(); + + const QByteArray propertyName = "top"+mode.toLatin1()+"Comp"; + const QVariant modeComp = obj->property(propertyName.constData()); + if (!modeComp.isValid()) + qCWarning(DISCOVER_LOG) << "couldn't open mode" << _mode; + else + obj->setProperty("currentTopLevel", modeComp); +} + +void DiscoverObject::openMimeType(const QString& mime) +{ + emit listMimeInternal(mime); +} + +void DiscoverObject::openCategory(const QString& category) +{ + setRootObjectProperty("defaultStartup", false); + auto action = new OneTimeAction( + [this, category]() { + Category* cat = CategoryModel::global()->findCategoryByName(category); + if (cat) { + emit listCategoryInternal(cat); + } else { + showPassiveNotification(i18n("Could not find category '%1'", category)); + setRootObjectProperty("defaultStartup", false); + } + } + , this); + + if (ResourcesModel::global()->backends().isEmpty()) { + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, action, &OneTimeAction::trigger); + } else { + action->trigger(); + } +} + +void DiscoverObject::openLocalPackage(const QUrl& localfile) +{ + if (!QFile::exists(localfile.toLocalFile())) { +// showPassiveNotification(i18n("Trying to open unexisting file '%1'", localfile.toString())); + qCWarning(DISCOVER_LOG) << "Trying to open unexisting file" << localfile; + return; + } + setRootObjectProperty("defaultStartup", false); + auto action = new OneTimeAction( + [this, localfile]() { + auto res = ResourcesModel::global()->resourceForFile(localfile); + qCDebug(DISCOVER_LOG) << "all initialized..." << res; + if (res) { + emit openApplicationInternal(res); + } else { + QMimeDatabase db; + auto mime = db.mimeTypeForUrl(localfile); + auto fIsFlatpakBackend = [](AbstractResourcesBackend* backend) { return backend->metaObject()->className() == QByteArray("FlatpakBackend"); }; + if (mime.name().startsWith(QLatin1String("application/vnd.flatpak")) && !kContains(ResourcesModel::global()->backends(), fIsFlatpakBackend)) { + openApplication(QUrl(QLatin1String("appstream://org.kde.discover.flatpak"))); + showPassiveNotification(i18n("Cannot interact with flatpak resources without the flatpak backend %1. Please install it first.", localfile.toDisplayString())); + } else { + setRootObjectProperty("defaultStartup", true); + showPassiveNotification(i18n("Couldn't open %1", localfile.toDisplayString())); + } + } + } + , this); + + if (ResourcesModel::global()->backends().isEmpty()) { + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, action, &OneTimeAction::trigger); + } else { + action->trigger(); + } +} + +void DiscoverObject::openApplication(const QUrl& url) +{ + Q_ASSERT(!url.isEmpty()); + setRootObjectProperty("defaultStartup", false); + auto action = new OneTimeAction( + [this, url]() { + AbstractResourcesBackend::Filters f; + f.resourceUrl = url; + auto stream = new StoredResultsStream({ResourcesModel::global()->search(f)}); + connect(stream, &StoredResultsStream::finished, this, [this, url, stream]() { + const auto res = stream->resources(); + if (res.count() >= 1) { + emit openApplicationInternal(res.first()); + } else { + setRootObjectProperty("defaultStartup", true); + Q_EMIT openErrorPage(i18n("Couldn't open %1", url.toDisplayString())); + } + }); + } + , this); + + if (ResourcesModel::global()->backends().isEmpty()) { + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, action, &OneTimeAction::trigger); + } else { + action->trigger(); + } +} + +void DiscoverObject::integrateObject(QObject* object) +{ + if (!object) { + qCWarning(DISCOVER_LOG) << "Errors when loading the GUI"; + QTimer::singleShot(0, QCoreApplication::instance(), [](){ + QCoreApplication::instance()->exit(1); + }); + return; + } + + Q_ASSERT(object == rootObject()); + + KConfigGroup window(KSharedConfig::openConfig(), "Window"); + if (window.hasKey("geometry")) + rootObject()->setGeometry(window.readEntry("geometry", QRect())); + if (window.hasKey("visibility")) { + QWindow::Visibility visibility(QWindow::Visibility(window.readEntry("visibility", QWindow::Windowed))); + rootObject()->setVisibility(qMax(visibility, QQuickView::AutomaticVisibility)); + } + + object->installEventFilter(this); + connect(object, &QObject::destroyed, qGuiApp, &QCoreApplication::quit); + + object->setParent(m_engine); + connect(qGuiApp, &QGuiApplication::commitDataRequest, this, [this](QSessionManager &sessionManager) { + if (ResourcesModel::global()->isBusy()) { + Q_EMIT preventedClose(); + sessionManager.cancel(); + } + }); +} + +bool DiscoverObject::eventFilter(QObject * object, QEvent * event) +{ + if (object!=rootObject()) + return false; + + if (event->type() == QEvent::Close) { + if (ResourcesModel::global()->isBusy()) { + qCWarning(DISCOVER_LOG) << "not closing because there's still pending tasks"; + Q_EMIT preventedClose(); + return true; + } + + KConfigGroup window(KSharedConfig::openConfig(), "Window"); + window.writeEntry("geometry", rootObject()->geometry()); + window.writeEntry("visibility", rootObject()->visibility()); +// } else if (event->type() == QEvent::ShortcutOverride) { +// qCWarning(DISCOVER_LOG) << "Action conflict" << event; + } + return false; +} + +void DiscoverObject::setupActions() +{ + if (KAuthorized::authorizeAction(QStringLiteral("help_report_bug")) && !KAboutData::applicationData().bugAddress().isEmpty()) { + auto mReportBugAction = KStandardAction::reportBug(this, &DiscoverObject::reportBug, this); + m_collection[mReportBugAction->objectName()] = mReportBugAction; + } + + if (KAuthorized::authorizeAction(QStringLiteral("help_about_app"))) { + auto mAboutAppAction = KStandardAction::aboutApp(this, &DiscoverObject::aboutApplication, this); + m_collection[mAboutAppAction->objectName()] = mAboutAppAction; + } +} + +QAction * DiscoverObject::action(const QString& name) const +{ + return m_collection.value(name); +} + +QString DiscoverObject::iconName(const QIcon& icon) +{ + return icon.name(); +} + +void DiscoverObject::aboutApplication() +{ + static QPointer dialog; + if (!dialog) { + dialog = new KAboutApplicationDialog(KAboutData::applicationData(), nullptr); + dialog->setAttribute(Qt::WA_DeleteOnClose); + } + dialog->show(); +} + +void DiscoverObject::reportBug() +{ + static QPointer dialog; + if (!dialog) { + dialog = new KBugReport(KAboutData::applicationData(), nullptr); + dialog->setAttribute(Qt::WA_DeleteOnClose); + } + dialog->show(); +} + +void DiscoverObject::switchApplicationLanguage() +{ +// auto langDialog = new KSwitchLanguageDialog(nullptr); +// connect(langDialog, SIGNAL(finished(int)), this, SLOT(dialogFinished())); +// langDialog->show(); +} + +void DiscoverObject::setCompactMode(DiscoverObject::CompactMode mode) +{ + if (m_mode != mode) { + m_mode = mode; + Q_EMIT compactModeChanged(m_mode); + } +} + +class DiscoverTestExecutor : public QObject +{ +public: + DiscoverTestExecutor(QObject* rootObject, QQmlEngine* engine, const QUrl &url) + : QObject(engine) + { + connect(engine, &QQmlEngine::quit, this, &DiscoverTestExecutor::finish, Qt::QueuedConnection); + + QQmlComponent* component = new QQmlComponent(engine, url, engine); + m_testObject = component->create(engine->rootContext()); + + if (!m_testObject) { + qCWarning(DISCOVER_LOG) << "error loading test" << url << m_testObject << component->errors(); + Q_ASSERT(false); + } + + m_testObject->setProperty("appRoot", QVariant::fromValue(rootObject)); + connect(engine, &QQmlEngine::warnings, this, &DiscoverTestExecutor::processWarnings); + } + + void processWarnings(const QList &warnings) { + foreach(const QQmlError &warning, warnings) { + if (warning.url().path().endsWith(QLatin1String("DiscoverTest.qml"))) { + qCWarning(DISCOVER_LOG) << "Test failed!" << warnings; + qGuiApp->exit(1); + } + } + m_warnings << warnings; + } + + void finish() { + //The CI doesn't seem to have icons, remove when it's not an issue anymore + m_warnings.erase(std::remove_if(m_warnings.begin(), m_warnings.end(), [](const QQmlError& err) -> bool { + return err.description().contains(QLatin1String("QML Image: Failed to get image from provider: image://icon/")); + })); + + if (m_warnings.isEmpty()) + qCDebug(DISCOVER_LOG) << "cool no warnings!"; + else + qCDebug(DISCOVER_LOG) << "test finished succesfully despite" << m_warnings; + qGuiApp->exit(m_warnings.count()); + } + +private: + QObject* m_testObject; + QList m_warnings; +}; + +void DiscoverObject::loadTest(const QUrl& url) +{ + new DiscoverTestExecutor(rootObject(), engine(), url); +} + +QWindow* DiscoverObject::rootObject() const +{ + return qobject_cast(m_engine->rootObjects().at(0)); +} + +void DiscoverObject::setRootObjectProperty(const char* name, const QVariant& value) +{ + auto ro = rootObject(); + if (!ro) { + qCWarning(DISCOVER_LOG) << "please check your installation"; + return; + } + + rootObject()->setProperty(name, value); +} + +void DiscoverObject::showPassiveNotification(const QString& msg) +{ + QTimer::singleShot(100, this, [this, msg](){ + QMetaObject::invokeMethod(rootObject(), "showPassiveNotification", Qt::QueuedConnection, Q_ARG(QVariant, msg), Q_ARG(QVariant, {}), Q_ARG(QVariant, {}), Q_ARG(QVariant, {})); + }); +} + +void DiscoverObject::copyTextToClipboard(const QString& text) +{ + qGuiApp->clipboard()->setText(text); +} + + +#include "DiscoverObject.moc" diff --git a/discover/DiscoverObject.h b/discover/DiscoverObject.h new file mode 100644 index 0000000..83f5b3c --- /dev/null +++ b/discover/DiscoverObject.h @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef MUONDISCOVERMAINWINDOW_H +#define MUONDISCOVERMAINWINDOW_H + +#include + +#include + +class AbstractResource; +class Category; +class QWindow; +class QQmlApplicationEngine; +class CachedNetworkAccessManagerFactory; +class ResourcesProxyModel; + +class DiscoverObject : public QObject +{ + Q_OBJECT + Q_PROPERTY(CompactMode compactMode READ compactMode WRITE setCompactMode NOTIFY compactModeChanged) + Q_PROPERTY(bool isRoot READ isRoot CONSTANT) + public: + enum CompactMode { Auto, Compact, Full }; + Q_ENUM(CompactMode) + + explicit DiscoverObject(CompactMode mode); + ~DiscoverObject() override; + + QStringList modes() const; + void setupActions(); + + CompactMode compactMode() const { return m_mode; } + void setCompactMode(CompactMode mode); + + bool eventFilter(QObject * object, QEvent * event) override; + + Q_SCRIPTABLE QAction * action(const QString& name) const; + Q_SCRIPTABLE static QString iconName(const QIcon& icon); + + void loadTest(const QUrl& url); + + static bool isRoot(); + QWindow* rootObject() const; + void showPassiveNotification(const QString &msg); + + public Q_SLOTS: + void openApplication(const QUrl& app); + void openMimeType(const QString& mime); + void openCategory(const QString& category); + void openMode(const QString& mode); + void openLocalPackage(const QUrl &localfile); + + void copyTextToClipboard(const QString &text); + + private Q_SLOTS: + void reportBug(); + void switchApplicationLanguage(); + void aboutApplication(); + + Q_SIGNALS: + void openSearch(const QString &search); + void openApplicationInternal(AbstractResource* app); + void listMimeInternal(const QString& mime); + void listCategoryInternal(Category* cat); + + void compactModeChanged(DiscoverObject::CompactMode compactMode); + void preventedClose(); + void unableToFind(const QString &resid); + void openErrorPage(const QString &errorMessage); + + private: + void setRootObjectProperty(const char *name, const QVariant &value); + void integrateObject(QObject* object); + QQmlApplicationEngine* engine() const { return m_engine; } + + QMap m_collection; + QQmlApplicationEngine * const m_engine; + + CompactMode m_mode; + QScopedPointer m_networkAccessManagerFactory; +}; + +#endif // MUONINSTALLERDECLARATIVEVIEW_H diff --git a/discover/FeaturedModel.cpp b/discover/FeaturedModel.cpp new file mode 100644 index 0000000..8773727 --- /dev/null +++ b/discover/FeaturedModel.cpp @@ -0,0 +1,160 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FeaturedModel.h" + +#include "discover_debug.h" +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +Q_GLOBAL_STATIC(QString, featuredCache) + +FeaturedModel::FeaturedModel() +{ + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &FeaturedModel::refresh); + connect(ResourcesModel::global(), &ResourcesModel::currentApplicationBackendChanged, this, &FeaturedModel::refresh); + connect(ResourcesModel::global(), &ResourcesModel::fetchingChanged, this, &FeaturedModel::refresh); + connect(ResourcesModel::global(), &ResourcesModel::resourceRemoved, this, &FeaturedModel::removeResource); + + const QString dir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation); + QDir().mkpath(dir); + *featuredCache = dir+QLatin1String("/featured-5.9.json"); + + const QUrl featuredUrl(QStringLiteral("https://autoconfig.kde.org/discover/featured-5.9.json")); + auto *getJob = KIO::storedGet(featuredUrl, KIO::NoReload, KIO::HideProgressInfo); + connect(getJob, &KIO::StoredTransferJob::result, this, [this, getJob](){ + QFile f(*featuredCache); + if (!f.open(QIODevice::WriteOnly)) + qCWarning(DISCOVER_LOG) << "could not open" << *featuredCache << f.errorString(); + f.write(getJob->data()); + f.close(); + refresh(); + }); + + if (!ResourcesModel::global()->backends().isEmpty() && QFile::exists(*featuredCache)) + refresh(); +} + +void FeaturedModel::refresh() +{ + QFile f(*featuredCache); + if (!f.open(QIODevice::ReadOnly)) { + qCWarning(DISCOVER_LOG) << "couldn't open file" << *featuredCache << f.errorString(); + return; + } + QJsonParseError error; + const auto array = QJsonDocument::fromJson(f.readAll(), &error).array(); + if (error.error) { + qCWarning(DISCOVER_LOG) << "couldn't parse" << *featuredCache << ". error:" << error.errorString(); + return; + } + + const auto uris = kTransform>(array, [](const QJsonValue& uri) { return QUrl(uri.toString()); }); + setUris(uris); +} + +void FeaturedModel::setUris(const QVector& uris) +{ + auto backend = ResourcesModel::global()->currentApplicationBackend(); + if (uris == m_uris || !backend) + return; + + QSet streams; + foreach(const auto &uri, uris) { + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = uri; + streams << backend->search(filter); + } + auto stream = new StoredResultsStream(streams); + connect(stream, &StoredResultsStream::finishedResources, this, &FeaturedModel::setResources); +} + +static void filterDupes(QVector &resources) +{ + const auto appsBackend = ResourcesModel::global()->currentApplicationBackend(); + QHash resById; + for(auto it = resources.begin(); it!=resources.end(); ) { + auto id = (*it)->appstreamId(); + auto curr = resById.value(id); + if (curr && curr->backend() == appsBackend) { + it = resources.erase(it); + } else { + resources.removeAll(curr); + resById[id] = *it; + ++it; + } + } +} + +void FeaturedModel::setResources(const QVector& _resources) +{ + auto resources = _resources; + filterDupes(resources); + + if (m_resources == resources) + return; + + //TODO: sort like in the json files + + beginResetModel(); + m_resources = resources; + endResetModel(); +} + +void FeaturedModel::removeResource(AbstractResource* resource) +{ + int index = m_resources.indexOf(resource); + if (index<0) + return; + + beginRemoveRows({}, index, index); + m_resources.removeAt(index); + endRemoveRows(); +} + +QVariant FeaturedModel::data(const QModelIndex& index, int role) const +{ + if (!index.isValid() || role!=Qt::UserRole) + return {}; + + auto res = m_resources.value(index.row()); + if (!res) + return {}; + + return QVariant::fromValue(res); +} + +int FeaturedModel::rowCount(const QModelIndex& parent) const +{ + return parent.isValid() ? 0 : m_resources.count(); +} + +QHash FeaturedModel::roleNames() const +{ + return {{Qt::UserRole, "application"}}; +} diff --git a/discover/FeaturedModel.h b/discover/FeaturedModel.h new file mode 100644 index 0000000..d060716 --- /dev/null +++ b/discover/FeaturedModel.h @@ -0,0 +1,49 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FEATUREDMODEL_H +#define FEATUREDMODEL_H + +#include + +class AbstractResource; + +class FeaturedModel : public QAbstractListModel +{ + Q_OBJECT + public: + FeaturedModel(); + ~FeaturedModel() override {} + + void setResources(const QVector& resources); + QVariant data(const QModelIndex & index, int role) const override; + int rowCount(const QModelIndex & parent) const override; + QHash roleNames() const override; + + private: + void setUris(const QVector &uris); + void refresh(); + void removeResource(AbstractResource* resource); + + QVector m_uris; + QVector m_resources; +}; + +#endif // FEATUREDMODEL_H diff --git a/discover/PaginateModel.cpp b/discover/PaginateModel.cpp new file mode 100644 index 0000000..cf5117d --- /dev/null +++ b/discover/PaginateModel.cpp @@ -0,0 +1,394 @@ +/* + * Copyright (C) 2014 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include "PaginateModel.h" +#include +#include "discover_debug.h" + +PaginateModel::PaginateModel(QObject* object) + : QAbstractListModel(object) + , m_firstItem(0) + , m_pageSize(10) + , m_sourceModel(nullptr) + , m_hasStaticRowCount(false) +{ +} + +PaginateModel::~PaginateModel() +{ +} + +int PaginateModel::firstItem() const +{ + return m_firstItem; +} + +void PaginateModel::setFirstItem(int row) +{ + Q_ASSERT(row>=0 && rowrowCount()); + if (row!=m_firstItem) { + beginResetModel(); + m_firstItem = row; + endResetModel(); + emit firstItemChanged(); + } +} + +int PaginateModel::pageSize() const +{ + return m_pageSize; +} + +void PaginateModel::setPageSize(int count) +{ + if (count != m_pageSize) { + const int oldSize = rowsByPageSize(m_pageSize); + const int newSize = rowsByPageSize(count); + const int difference = newSize - oldSize; + if (difference==0) { + m_pageSize = count; + } else if(difference>0) { + beginInsertRows(QModelIndex(), m_pageSize, m_pageSize+difference-1); + m_pageSize = count; + endInsertRows(); + } else { + beginRemoveRows(QModelIndex(), m_pageSize+difference, m_pageSize-1); + m_pageSize = count; + endRemoveRows(); + } + emit pageSizeChanged(); + } +} + +QAbstractItemModel* PaginateModel::sourceModel() const +{ + return m_sourceModel; +} + +void PaginateModel::setSourceModel(QAbstractItemModel* model) +{ + if(m_sourceModel) { + disconnect(m_sourceModel, nullptr, this, nullptr); + } + + if(model!=m_sourceModel) { + beginResetModel(); + m_sourceModel = model; + if(model) { + connect(m_sourceModel, &QAbstractItemModel::rowsAboutToBeInserted, this, &PaginateModel::_k_sourceRowsAboutToBeInserted); + connect(m_sourceModel, &QAbstractItemModel::rowsInserted, this, &PaginateModel::_k_sourceRowsInserted); + connect(m_sourceModel, &QAbstractItemModel::rowsAboutToBeRemoved, this, &PaginateModel::_k_sourceRowsAboutToBeRemoved); + connect(m_sourceModel, &QAbstractItemModel::rowsRemoved, this, &PaginateModel::_k_sourceRowsRemoved); + connect(m_sourceModel, &QAbstractItemModel::rowsAboutToBeMoved, this, &PaginateModel::_k_sourceRowsAboutToBeMoved); + connect(m_sourceModel, &QAbstractItemModel::rowsMoved, this, &PaginateModel::_k_sourceRowsMoved); + + connect(m_sourceModel, &QAbstractItemModel::columnsAboutToBeInserted, this, &PaginateModel::_k_sourceColumnsAboutToBeInserted); + connect(m_sourceModel, &QAbstractItemModel::columnsInserted, this, &PaginateModel::_k_sourceColumnsInserted); + connect(m_sourceModel, &QAbstractItemModel::columnsAboutToBeRemoved, this, &PaginateModel::_k_sourceColumnsAboutToBeRemoved); + connect(m_sourceModel, &QAbstractItemModel::columnsRemoved, this, &PaginateModel::_k_sourceColumnsRemoved); + connect(m_sourceModel, &QAbstractItemModel::columnsAboutToBeMoved, this, &PaginateModel::_k_sourceColumnsAboutToBeMoved); + connect(m_sourceModel, &QAbstractItemModel::columnsMoved, this, &PaginateModel::_k_sourceColumnsMoved); + + connect(m_sourceModel, &QAbstractItemModel::dataChanged, this, &PaginateModel::_k_sourceDataChanged); + connect(m_sourceModel, &QAbstractItemModel::headerDataChanged, this, &PaginateModel::_k_sourceHeaderDataChanged); + + connect(m_sourceModel, &QAbstractItemModel::modelAboutToBeReset, this, &PaginateModel::_k_sourceModelAboutToBeReset); + connect(m_sourceModel, &QAbstractItemModel::modelReset, this, &PaginateModel::_k_sourceModelReset); + + connect(m_sourceModel, &QAbstractItemModel::rowsInserted, this, &PaginateModel::pageCountChanged); + connect(m_sourceModel, &QAbstractItemModel::rowsRemoved, this, &PaginateModel::pageCountChanged); + connect(m_sourceModel, &QAbstractItemModel::modelReset, this, &PaginateModel::pageCountChanged); + } + endResetModel(); + emit sourceModelChanged(); + } +} + +QHash< int, QByteArray > PaginateModel::roleNames() const +{ + return m_sourceModel ? m_sourceModel->roleNames() : QAbstractItemModel::roleNames(); +} + +int PaginateModel::rowsByPageSize(int size) const +{ + return m_hasStaticRowCount ? size + : !m_sourceModel ? 0 + : qMin(m_sourceModel->rowCount()-m_firstItem, size); +} + +int PaginateModel::rowCount(const QModelIndex& parent) const +{ + return parent.isValid() ? 0 : rowsByPageSize(m_pageSize); +} + +QModelIndex PaginateModel::mapToSource(const QModelIndex& idx) const +{ + if(!m_sourceModel) + return QModelIndex(); + return m_sourceModel->index(idx.row()+m_firstItem, idx.column()); +} + +QModelIndex PaginateModel::mapFromSource(const QModelIndex& idx) const +{ + Q_ASSERT(idx.model() == m_sourceModel); + if(!m_sourceModel) + return QModelIndex(); + return index(idx.row()-m_firstItem, idx.column()); +} + +QVariant PaginateModel::data(const QModelIndex& index, int role) const +{ + if(!m_sourceModel) + return QVariant(); + QModelIndex idx = mapToSource(index); + return idx.data(role); +} + +void PaginateModel::firstPage() +{ + setFirstItem(0); +} + +void PaginateModel::lastPage() +{ + setFirstItem((pageCount() - 1)*m_pageSize); +} + +void PaginateModel::nextPage() +{ + setFirstItem(m_firstItem + m_pageSize); +} + +void PaginateModel::previousPage() +{ + setFirstItem(m_firstItem - m_pageSize); +} + +int PaginateModel::currentPage() const +{ + return m_firstItem/m_pageSize; +} + +int PaginateModel::pageCount() const +{ + if(!m_sourceModel) + return 0; + const int rc = m_sourceModel->rowCount(); + const int r = (rc%m_pageSize == 0) ? 1 : 0; + return qMax(qCeil(float(rc)/m_pageSize) - r, 1); +} + +bool PaginateModel::hasStaticRowCount() const +{ + return m_hasStaticRowCount; +} + +void PaginateModel::setStaticRowCount(bool src) +{ + if (src == m_hasStaticRowCount) { + return; + } + + beginResetModel(); + m_hasStaticRowCount = src; + endResetModel(); +} + +////////////////////////////// + +void PaginateModel::_k_sourceColumnsAboutToBeInserted(const QModelIndex& parent, int start, int end) +{ + Q_UNUSED(end) + if(parent.isValid() || start!=0) { + return; + } + beginResetModel(); +} + +void PaginateModel::_k_sourceColumnsAboutToBeMoved(const QModelIndex& sourceParent, int sourceStart, int sourceEnd, const QModelIndex& destParent, int dest) +{ + Q_UNUSED(sourceParent) + Q_UNUSED(sourceStart) + Q_UNUSED(sourceEnd) + Q_UNUSED(destParent) + Q_UNUSED(dest) + beginResetModel(); +} + +void PaginateModel::_k_sourceColumnsAboutToBeRemoved(const QModelIndex& parent, int start, int end) +{ + Q_UNUSED(end) + if(parent.isValid() || start!=0) { + return; + } + beginResetModel(); +} + +void PaginateModel::_k_sourceColumnsInserted(const QModelIndex& parent, int start, int end) +{ + Q_UNUSED(end) + if(parent.isValid() || start!=0) { + return; + } + endResetModel(); +} + +void PaginateModel::_k_sourceColumnsMoved(const QModelIndex& sourceParent, int sourceStart, int sourceEnd, const QModelIndex& destParent, int dest) +{ + Q_UNUSED(sourceParent) + Q_UNUSED(sourceStart) + Q_UNUSED(sourceEnd) + Q_UNUSED(destParent) + Q_UNUSED(dest) + endResetModel(); +} + +void PaginateModel::_k_sourceColumnsRemoved(const QModelIndex& parent, int start, int end) +{ + Q_UNUSED(end) + if(parent.isValid() || start!=0) { + return; + } + endResetModel(); +} + +void PaginateModel::_k_sourceDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight, const QVector &roles) +{ + if(topLeft.parent().isValid() || bottomRight.row()lastItem()) { + return; + } + + QModelIndex idxTop = mapFromSource(topLeft); + QModelIndex idxBottom = mapFromSource(bottomRight); + if(!idxTop.isValid()) + idxTop = index(0); + if(!idxBottom.isValid()) + idxBottom = index(rowCount()-1); + + emit dataChanged(idxTop, idxBottom, roles); +} + +void PaginateModel::_k_sourceHeaderDataChanged(Qt::Orientation orientation, int first, int last) +{ + Q_UNUSED(last) + if(first==0) + emit headerDataChanged(orientation, 0, 0); +} + +void PaginateModel::_k_sourceModelAboutToBeReset() +{ + beginResetModel(); +} + +void PaginateModel::_k_sourceModelReset() +{ + endResetModel(); +} + +bool PaginateModel::isIntervalValid(const QModelIndex& parent, int start, int /*end*/) const +{ + return !parent.isValid() && start<=lastItem(); +} + +bool PaginateModel::canSizeChange() const +{ + return !m_hasStaticRowCount && currentPage() == pageCount()-1; +} + +void PaginateModel::_k_sourceRowsAboutToBeInserted(const QModelIndex& parent, int start, int end) +{ + if(!isIntervalValid(parent, start, end)) { + return; + } + + if(canSizeChange()) { + const int newStart = qMax(start-m_firstItem, 0); + const int insertedCount = qMin(end-start, pageSize() - newStart -1); + beginInsertRows(QModelIndex(), newStart, newStart+insertedCount); + } else { + beginResetModel(); + } +} + +void PaginateModel::_k_sourceRowsInserted(const QModelIndex& parent, int start, int end) +{ + if(!isIntervalValid(parent, start, end)) { + return; + } + + if(canSizeChange()) { + endInsertRows(); + } else { + endResetModel(); + } +} + +void PaginateModel::_k_sourceRowsAboutToBeMoved(const QModelIndex& sourceParent, int sourceStart, int sourceEnd, const QModelIndex& destParent, int dest) +{ + Q_UNUSED(sourceParent) + Q_UNUSED(sourceStart) + Q_UNUSED(sourceEnd) + Q_UNUSED(destParent) + Q_UNUSED(dest) + //NOTE could optimize, unsure if it makes sense + beginResetModel(); +} + +void PaginateModel::_k_sourceRowsMoved(const QModelIndex& sourceParent, int sourceStart, int sourceEnd, const QModelIndex& destParent, int dest) +{ + Q_UNUSED(sourceParent) + Q_UNUSED(sourceStart) + Q_UNUSED(sourceEnd) + Q_UNUSED(destParent) + Q_UNUSED(dest) + endResetModel(); +} + +void PaginateModel::_k_sourceRowsAboutToBeRemoved(const QModelIndex& parent, int start, int end) +{ + if(!isIntervalValid(parent, start, end)) { + return; + } + + if(canSizeChange()) { + const int removedCount = end-start; + const int newStart = qMax(start-m_firstItem, 0); + beginRemoveRows(QModelIndex(), newStart, newStart+removedCount); + } else { + beginResetModel(); + } +} + +void PaginateModel::_k_sourceRowsRemoved(const QModelIndex& parent, int start, int end) +{ + if(!isIntervalValid(parent, start, end)) { + return; + } + + if(canSizeChange()) { + endRemoveRows(); + } else { + beginResetModel(); + } +} + +int PaginateModel::lastItem() const +{ + return m_firstItem + rowCount(); +} diff --git a/discover/PaginateModel.h b/discover/PaginateModel.h new file mode 100644 index 0000000..a1b5643 --- /dev/null +++ b/discover/PaginateModel.h @@ -0,0 +1,120 @@ +/* + * Copyright (C) 2014 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef PAGINATEMODEL_H +#define PAGINATEMODEL_H + +#include + +/** + * @class PaginateModel + * + * This class can be used to create representations of only a chunk of a model. + * + * With this component it will be possible to create views that only show a page + * of a model, instead of drawing all the elements in the model. + */ +class PaginateModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(int pageSize READ pageSize WRITE setPageSize NOTIFY pageSizeChanged) + Q_PROPERTY(int firstItem READ firstItem WRITE setFirstItem NOTIFY firstItemChanged) + Q_PROPERTY(QAbstractItemModel* sourceModel READ sourceModel WRITE setSourceModel NOTIFY sourceModelChanged) + Q_PROPERTY(int currentPage READ currentPage NOTIFY firstItemChanged) + Q_PROPERTY(int pageCount READ pageCount NOTIFY pageCountChanged) + + /** If enabled, ensures that pageCount and pageSize are the same. */ + Q_PROPERTY(bool staticRowCount READ hasStaticRowCount WRITE setStaticRowCount) + + public: + explicit PaginateModel(QObject* object = nullptr); + ~PaginateModel() override; + + int pageSize() const; + void setPageSize(int count); + + int firstItem() const; + void setFirstItem(int row); + + /** + * @returns Last visible item. + * + * Convenience function + */ + int lastItem() const; + + QAbstractItemModel* sourceModel() const; + void setSourceModel(QAbstractItemModel* model); + + QModelIndex mapToSource(const QModelIndex& idx) const; + QModelIndex mapFromSource(const QModelIndex& idx) const; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + + int currentPage() const; + int pageCount() const; + QHash roleNames() const override; + + void setStaticRowCount(bool src); + bool hasStaticRowCount() const; + + Q_SCRIPTABLE void firstPage(); + Q_SCRIPTABLE void nextPage(); + Q_SCRIPTABLE void previousPage(); + Q_SCRIPTABLE void lastPage(); + + private Q_SLOTS: + void _k_sourceRowsAboutToBeInserted(const QModelIndex &parent, int start, int end); + void _k_sourceRowsInserted(const QModelIndex &parent, int start, int end); + void _k_sourceRowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); + void _k_sourceRowsRemoved(const QModelIndex &parent, int start, int end); + void _k_sourceRowsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest); + void _k_sourceRowsMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest); + + void _k_sourceColumnsAboutToBeInserted(const QModelIndex &parent, int start, int end); + void _k_sourceColumnsInserted(const QModelIndex &parent, int start, int end); + void _k_sourceColumnsAboutToBeRemoved(const QModelIndex &parent, int start, int end); + void _k_sourceColumnsRemoved(const QModelIndex &parent, int start, int end); + void _k_sourceColumnsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest); + void _k_sourceColumnsMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest); + + void _k_sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles); + void _k_sourceHeaderDataChanged(Qt::Orientation orientation, int first, int last); + + void _k_sourceModelAboutToBeReset(); + void _k_sourceModelReset(); + + Q_SIGNALS: + void pageSizeChanged(); + void firstItemChanged(); + void sourceModelChanged(); + void pageCountChanged(); + + private: + bool canSizeChange() const; + bool isIntervalValid(const QModelIndex& parent, int start, int end) const; + + int rowsByPageSize(int size) const; + int m_firstItem; + int m_pageSize; + QAbstractItemModel* m_sourceModel; + bool m_hasStaticRowCount; +}; + +#endif diff --git a/discover/ReadFile.cpp b/discover/ReadFile.cpp new file mode 100644 index 0000000..ab94468 --- /dev/null +++ b/discover/ReadFile.cpp @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include "ReadFile.h" +#include "discover_debug.h" + +ReadFile::ReadFile() +{ + connect(&m_watcher, &QFileSystemWatcher::fileChanged, this, &ReadFile::openNow); + connect(&m_file, &QFile::readyRead, this, &ReadFile::process); +} + +void ReadFile::componentComplete() +{ + completed = true; + openNow(); +} + +void ReadFile::setPath(QString path) +{ + processPath(path); + if (path == m_file.fileName()) + return; + + if (path.isEmpty()) + return; + + if (m_file.isOpen()) + m_watcher.removePath(m_file.fileName()); + + m_file.setFileName(path); + m_sizeOnSet = m_file.size() + 1; + openNow(); + + m_watcher.addPath(m_file.fileName()); +} + +void ReadFile::openNow() +{ + if (!completed) + return; + + if (!m_contents.isEmpty()) { + m_contents.clear(); + Q_EMIT contentsChanged(m_contents); + } + m_file.close(); + const auto open = m_file.open(QIODevice::ReadOnly | QIODevice::Text); + Q_EMIT pathChanged(path()); + if (!open) + return; + + m_stream.reset(new QTextStream(&m_file)); + m_stream->seek(m_sizeOnSet); + process(); +} + +void ReadFile::processPath(QString& path) +{ + const QRegularExpression envRx(QStringLiteral("\\$([A-Z_]+)")); + auto matchIt = envRx.globalMatch(path); + while(matchIt.hasNext()) { + auto match = matchIt.next(); + path.replace(match.capturedStart(), match.capturedLength(), QString::fromUtf8(qgetenv(match.capturedRef(1).toUtf8().constData()))); + } +} + +void ReadFile::process() +{ + const QString read = m_stream->readAll(); + + if (m_filter.isValid() && !m_filter.pattern().isEmpty()) { + auto it = m_filter.globalMatch(read); + while(it.hasNext()) { + const auto match = it.next(); + m_contents.append(match.capturedRef(match.lastCapturedIndex())); + m_contents.append(QLatin1Char('\n')); + } + } else + m_contents += read; + Q_EMIT contentsChanged(m_contents); +} + +void ReadFile::setFilter(const QString& filter) +{ + m_filter = QRegularExpression(filter); + if (!m_filter.isValid()) + qCDebug(DISCOVER_LOG) << "error" << m_filter.errorString(); + Q_ASSERT(filter.isEmpty() || m_filter.isValid()); +} + +QString ReadFile::filter() const +{ + return m_filter.pattern(); +} + diff --git a/discover/ReadFile.h b/discover/ReadFile.h new file mode 100644 index 0000000..a53732a --- /dev/null +++ b/discover/ReadFile.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef READFILE_H +#define READFILE_H + +#include +#include +#include +#include +#include +#include + +class ReadFile : public QObject, public QQmlParserStatus +{ +Q_OBJECT +Q_INTERFACES(QQmlParserStatus) +Q_PROPERTY(QString contents READ contents NOTIFY contentsChanged) +Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) +Q_PROPERTY(QString filter READ filter WRITE setFilter FINAL) +public: + ReadFile(); + + QString contents() const { return m_contents; } + QString path() const { return m_file.fileName(); } + void setPath(QString path); + + QString filter() const; + void setFilter(const QString &filter); + + void classBegin() override {} + void componentComplete() override; + +Q_SIGNALS: + void pathChanged(const QString &path); + void contentsChanged(const QString &contents); + +private: + void process(); + void openNow(); + void processPath(QString& path); + + bool completed = false; + QFile m_file; + QString m_contents; + QSharedPointer m_stream; + QFileSystemWatcher m_watcher; + QRegularExpression m_filter; + qint64 m_sizeOnSet = 0; +}; + +#endif // READFILE_H diff --git a/discover/UnityLauncher.cpp b/discover/UnityLauncher.cpp new file mode 100644 index 0000000..8ec9720 --- /dev/null +++ b/discover/UnityLauncher.cpp @@ -0,0 +1,84 @@ +/* + * Copyright 2016 Kai Uwe Broulik + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) version 3, or any + * later version accepted by the membership of KDE e.V. (or its + * successor approved by the membership of KDE e.V.), which shall + * act as a proxy defined in Section 6 of version 3 of the license. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + */ + +#include "UnityLauncher.h" + +#include +#include +#include + +UnityLauncher::UnityLauncher(QObject *parent) : QObject(parent) +{ + +} + +UnityLauncher::~UnityLauncher() = default; + +QString UnityLauncher::launcherId() const +{ + return m_launcherId; +} + +void UnityLauncher::setLauncherId(const QString &launcherId) +{ + m_launcherId = launcherId; +} + +bool UnityLauncher::progressVisible() const +{ + return m_progressVisible; +} + +void UnityLauncher::setProgressVisible(bool progressVisible) +{ + if (m_progressVisible != progressVisible) { + m_progressVisible = progressVisible; + + update({ {QStringLiteral("progress-visible"), progressVisible} }); + } +} + +int UnityLauncher::progress() const +{ + return m_progress; +} + +void UnityLauncher::setProgress(int progress) +{ + if (m_progress != progress) { + m_progress = progress; + + update({ {QStringLiteral("progress"), progress / 100.0} }); + } +} + +void UnityLauncher::update(const QVariantMap &properties) +{ + if (m_launcherId.isEmpty()) { + return; + } + + QDBusMessage message = QDBusMessage::createSignal(QStringLiteral("/org/discover/UnityLauncher"), + QStringLiteral("com.canonical.Unity.LauncherEntry"), + QStringLiteral("Update")); + message.setArguments({m_launcherId, properties}); + QDBusConnection::sessionBus().send(message); +} diff --git a/discover/UnityLauncher.h b/discover/UnityLauncher.h new file mode 100644 index 0000000..9f940c6 --- /dev/null +++ b/discover/UnityLauncher.h @@ -0,0 +1,56 @@ +/* + * Copyright 2016 Kai Uwe Broulik + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) version 3, or any + * later version accepted by the membership of KDE e.V. (or its + * successor approved by the membership of KDE e.V.), which shall + * act as a proxy defined in Section 6 of version 3 of the license. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + */ + +#ifndef KDEVPLATFORM_UNITYLAUNCHER_H +#define KDEVPLATFORM_UNITYLAUNCHER_H + +#include + +class UnityLauncher : public QObject +{ + Q_OBJECT + Q_PROPERTY(QString launcherId READ launcherId WRITE setLauncherId) + Q_PROPERTY(bool progressVisible READ progressVisible WRITE setProgressVisible) + Q_PROPERTY(int progress READ progress WRITE setProgress) + +public: + explicit UnityLauncher(QObject *parent = nullptr); + ~UnityLauncher() override; + + QString launcherId() const; + void setLauncherId(const QString &launcherId); + + bool progressVisible() const; + void setProgressVisible(bool progressVisible); + + int progress() const; + void setProgress(int progress); + +private: + void update(const QVariantMap &properties); + + QString m_launcherId; + bool m_progressVisible = false; + int m_progress = 0; + +}; + +#endif // KDEVPLATFORM_UNITYLAUNCHER_H diff --git a/discover/assets.qrc b/discover/assets.qrc new file mode 100644 index 0000000..bbeb540 --- /dev/null +++ b/discover/assets.qrc @@ -0,0 +1,7 @@ + + + + banners/banner.svg + banners/coffee.jpg + + diff --git a/discover/autotests/CMakeLists.txt b/discover/autotests/CMakeLists.txt new file mode 100644 index 0000000..8b7342a --- /dev/null +++ b/discover/autotests/CMakeLists.txt @@ -0,0 +1,22 @@ +set(plasma_discover_autotest_SRCS) +ecm_qt_declare_logging_category(plasma_discover_autotest_SRCS HEADER discover_debug.h IDENTIFIER DISCOVER_LOG CATEGORY_NAME org.kde.plasma.discover) +ecm_add_test(PaginateModelTest.cpp ../PaginateModel.cpp ${plasma_discover_autotest_SRCS} ${CMAKE_SOURCE_DIR}/libdiscover/tests/modeltest.cpp TEST_NAME PaginateModelTest LINK_LIBRARIES Qt5::Test Qt5::Gui) +target_include_directories(PaginateModelTest PUBLIC ${CMAKE_SOURCE_DIR}/libdiscover/) + +if(BUILD_DummyBackend) + add_test(NAME toplevels COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/toplevels.qml") + add_test(NAME install COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/install.qml") + + add_test(NAME appstreamUrl COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/appstreamUrl.qml" "dummy://techie1") + add_test(NAME missingResource COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/missingResource.qml" "dummy://caca") + add_test(NAME apparg COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/appstreamUrl.qml" --application "dummy://techie1") + add_test(NAME categoryarg COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/categoryArg.qml" --category "dummy 2.1") + add_test(NAME wrongInput COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/wrongInput.qml" "CMakeLists.txt") + add_test(NAME packageArgument COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/packageArgument.qml" + --local-filename "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt") + add_test(NAME updateandinstall COMMAND Plasma::Discover --test "${CMAKE_CURRENT_SOURCE_DIR}/updateandinstall.qml") + +# Just make sure they exit successfully + add_test(NAME listbackends COMMAND Plasma::Discover --listbackends) + add_test(NAME listmodes COMMAND Plasma::Discover --listmodes) +endif() diff --git a/discover/autotests/DiscoverTest.qml b/discover/autotests/DiscoverTest.qml new file mode 100644 index 0000000..3713f68 --- /dev/null +++ b/discover/autotests/DiscoverTest.qml @@ -0,0 +1,113 @@ +import QtQuick 2.1 +import QtTest 1.1 +import org.kde.discover.app 1.0 + +Item +{ + id: testRoot + + signal reset() + property QtObject appRoot + + function verify(condition, msg) { + if (!condition) { + console.trace(); + var e = new Error(condition + (msg ? (": " + msg) : "")) + e.object = testRoot; + throw e; + } + } + + function compare(valA, valB, msg) { + if (valA !== valB) { + console.trace(); + var e = new Error(valA + " !== " + valB + (msg ? (": " + msg) : "")) + e.object = testRoot; + throw e; + } + } + + function typeName(obj) { + var name = obj.toString(); + var idx = name.indexOf("_QMLTYPE_"); + return name.substring(0, idx); + } + + function isType(obj, typename) { + return obj && obj.toString().indexOf(typename+"_QMLTYPE_") == 0 + } + + function chooseChild(obj, validator) { + if (validator(obj)) + return true; + var children = obj.data ? obj.data : obj.contentData + for(var v in children) { + var stop = chooseChild(children[v], validator) + if (stop) + return true + } + return false + } + + function findChild(obj, typename) { + var ret = null; + chooseChild(obj, function(o) { + var found = isType(o, typename); + if (found) { + ret = o; + } + return found + }) + return ret; + } + + SignalSpy { + id: spy + } + + function waitForSignal(object, name, timeout) { + if (!timeout) timeout = 5000; + + spy.clear(); + spy.signalName = "" + spy.target = object; + spy.signalName = name; + verify(spy); + verify(spy.valid); + verify(spy.count == 0); + + try { + spy.wait(timeout); + } catch (e) { + console.warn("wait for signal '"+name+"' failed") + return false; + } + return spy.count>0; + } + + function waitForRendering() { + return waitForSignal(appRoot, "frameSwapped") + } + + property string currentTest: "" + onCurrentTestChanged: console.log("changed to test", currentTest) + + Connections { + target: ResourcesModel + property bool done: false + onIsFetchingChanged: { + if (ResourcesModel.isFetching || done) + return; + + done = true; + for(var v in testRoot) { + if (v.indexOf("test_") == 0) { + testRoot.currentTest = v; + testRoot.reset(); + testRoot[v](); + } + } + Qt.quit(); + } + } +} diff --git a/discover/autotests/PaginateModelTest.cpp b/discover/autotests/PaginateModelTest.cpp new file mode 100644 index 0000000..6096005 --- /dev/null +++ b/discover/autotests/PaginateModelTest.cpp @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2015 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include +#include "../PaginateModel.h" +#include +#include + +class PaginateModelTest : public QObject +{ + Q_OBJECT +public: + PaginateModelTest() + : m_testModel(new QStandardItemModel) + { + for(int i=0; i<13; ++i) { + m_testModel->appendRow(new QStandardItem(QStringLiteral("figui%1").arg(i))); + } + } + +private Q_SLOTS: + void testPages() { + PaginateModel pm; + new ModelTest(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 3); + QCOMPARE(pm.rowCount(), 5); + QCOMPARE(pm.firstItem(), 0); + QCOMPARE(pm.currentPage(), 0); + pm.nextPage(); + QCOMPARE(pm.rowCount(), 5); + QCOMPARE(pm.currentPage(), 1); + pm.nextPage(); + QCOMPARE(pm.rowCount(), 3); + QCOMPARE(pm.currentPage(), 2); + + pm.firstPage(); + QCOMPARE(pm.firstItem(), 0); + pm.setFirstItem(0); + QCOMPARE(pm.firstItem(), 0); + QCOMPARE(pm.currentPage(), 0); + pm.lastPage(); + QCOMPARE(pm.firstItem(), 10); + QCOMPARE(pm.currentPage(), 2); + } + + void testPageSize() { + PaginateModel pm; + new ModelTest(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 3); + pm.setPageSize(10); + QCOMPARE(pm.pageCount(), 2); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 3); + } + + void testItemAdded() { + PaginateModel pm; + new ModelTest(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 3); + QSignalSpy spy(&pm, &QAbstractItemModel::rowsAboutToBeInserted); + m_testModel->insertRow(3, new QStandardItem(QStringLiteral("mwahahaha"))); + m_testModel->insertRow(3, new QStandardItem(QStringLiteral("mwahahaha"))); + QCOMPARE(spy.count(), 0); + m_testModel->appendRow(new QStandardItem(QStringLiteral("mwahahaha"))); + + pm.lastPage(); + for (int i=0; i<7; ++i) + m_testModel->appendRow(new QStandardItem(QStringLiteral("mwahahaha%1").arg(i))); + QCOMPARE(spy.count(), 4); + pm.firstPage(); + + for (int i=0; i<7; ++i) + m_testModel->appendRow(new QStandardItem(QStringLiteral("faraway%1").arg(i))); + QCOMPARE(spy.count(), 4); + } + + void testItemAddBeginning() { + QStandardItemModel smallerModel; + + PaginateModel pm; + new ModelTest(&pm, &pm); + pm.setSourceModel(&smallerModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 1); + QCOMPARE(pm.rowCount(), 0); + smallerModel.insertRow(0, new QStandardItem(QStringLiteral("just one"))); + QCOMPARE(pm.pageCount(), 1); + QCOMPARE(pm.rowCount(), 1); + smallerModel.removeRow(0); + QCOMPARE(pm.pageCount(), 1); + QCOMPARE(pm.rowCount(), 0); + } + + void testItemRemoved() { + PaginateModel pm; + new ModelTest(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 5); + QSignalSpy spy(&pm, &QAbstractItemModel::rowsAboutToBeRemoved); + m_testModel->removeRow(3); + QCOMPARE(spy.count(), 0); + spy.clear(); + + pm.lastPage(); + m_testModel->removeRow(m_testModel->rowCount()-1); + QCOMPARE(spy.count(), 1); + } + + void testMove() { + PaginateModel pm; + new ModelTest(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + m_testModel->moveRow({}, 0, {}, 3); + } + +private: + QStandardItemModel* const m_testModel; +}; + +QTEST_MAIN( PaginateModelTest ) + +#include "PaginateModelTest.moc" diff --git a/discover/autotests/appstreamUrl.qml b/discover/autotests/appstreamUrl.qml new file mode 100644 index 0000000..e1d1dfa --- /dev/null +++ b/discover/autotests/appstreamUrl.qml @@ -0,0 +1,11 @@ +import QtQuick 2.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_open() { + verify(appRoot.stack.currentItem, "has a loading page"); + compare(appRoot.stack.currentItem.title, "", "same title"); + compare(appRoot.stack.currentItem.application.packageName, "techie1", "pkgname"); + } +} diff --git a/discover/autotests/categoryArg.qml b/discover/autotests/categoryArg.qml new file mode 100644 index 0000000..7a4a5a9 --- /dev/null +++ b/discover/autotests/categoryArg.qml @@ -0,0 +1,12 @@ +import QtQuick 2.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_openCategory() { + verify(appRoot.stack.currentItem, "has a page"); + while (appRoot.stack.currentItem.title === "") + verify(waitForRendering()); + compare(appRoot.stack.currentItem.title, "dummy 2.1", "same title"); + } +} diff --git a/discover/autotests/install.qml b/discover/autotests/install.qml new file mode 100644 index 0000000..9f361e9 --- /dev/null +++ b/discover/autotests/install.qml @@ -0,0 +1,41 @@ +import QtQuick 2.0 +import org.kde.discover.app 1.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_openResource() { + app.openApplication("dummy://dummy.1"); + verify(waitForSignal(appRoot.stack, "currentItemChanged")) + verify(appRoot.stack.currentItem, "has a page"); + + var button = findChild(appRoot.stack.currentItem, "InstallApplicationButton") + verify(!button.isActive) + button.click() + verify(button.isActive) + verify(waitForSignal(button, "isActiveChanged")) + verify(!button.isActive) + } + + SignalSpy { + id: cancelSpy + target: TransactionModel + signalName: "transactionRemoved" + } + function test_cancel() { + app.openApplication("dummy://dummy.2"); + verify(waitForSignal(appRoot.stack, "currentItemChanged")) + var button = findChild(appRoot.stack.currentItem, "InstallApplicationButton") + verify(!button.isActive) + + cancelSpy.clear() + var state = button.application.state; + + button.click() + verify(button.isActive) + button.listener.cancel() + verify(!button.isActive) + compare(cancelSpy.count, 1) + verify(state == button.application.state) + } +} diff --git a/discover/autotests/missingResource.qml b/discover/autotests/missingResource.qml new file mode 100644 index 0000000..0add2b1 --- /dev/null +++ b/discover/autotests/missingResource.qml @@ -0,0 +1,9 @@ +import QtQuick 2.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_open() { + compare(appRoot.stack.currentItem.title, "Sorry...") + } +} diff --git a/discover/autotests/packageArgument.qml b/discover/autotests/packageArgument.qml new file mode 100644 index 0000000..a121cc3 --- /dev/null +++ b/discover/autotests/packageArgument.qml @@ -0,0 +1,13 @@ +import QtQuick 2.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_open() { + verify(appRoot.stack.currentItem, "has a page"); + while (appRoot.stack.currentItem.title === "Loading...") + waitForRendering(); + compare(appRoot.stack.currentItem.title, "", "same title"); + compare(appRoot.stack.currentItem.application.packageName, "CMakeLists.txt", "pkgname"); + } +} diff --git a/discover/autotests/toplevels.qml b/discover/autotests/toplevels.qml new file mode 100644 index 0000000..ce1e823 --- /dev/null +++ b/discover/autotests/toplevels.qml @@ -0,0 +1,127 @@ +import QtQuick 2.0 +import org.kde.discover.app 1.0 +import QtTest 1.1 + +DiscoverTest +{ + onReset: { + appRoot.currentTopLevel = appRoot.topBrowsingComp + } + + function test_openCategory() { + var categoryName = "dummy 3"; + app.openCategory(categoryName); + verify(appRoot.stack.currentItem, "has a page"); + compare(appRoot.stack.currentItem.title, categoryName, "same title"); + verify(waitForRendering()) + + categoryName = "dummy 4"; + app.openCategory(categoryName); + verify(appRoot.stack.currentItem, "has a page"); + compare(appRoot.stack.currentItem.title, categoryName, "same title"); + verify(waitForRendering()) + } + + function test_openHome() { + var drawer = appRoot.globalDrawer; + var firstitem; + chooseChild(drawer, function(object) { + if (object.hasOwnProperty("label") && object.label.indexOf("ummy")>0) { + firstitem = object; + return true + } + return false; + }); + var categoryName = "dummy 3"; + firstitem.clicked() + + drawer.bannerClicked() + compare(appRoot.stack.currentItem.title, "Featured", "same title"); + compare(drawer.currentSubMenu, null) + } + + function test_navigateThenUpdate() { + var drawer = appRoot.globalDrawer; + var firstitem; + chooseChild(drawer, function(object) { + if (object.hasOwnProperty("label") && object.label.indexOf("ummy")>0) { + firstitem = object; + return true + } + return false; + }); + var updateButton; + chooseChild(drawer, function(object) { + if (object.objectName == "updateButton") { + updateButton = object; + return true + } + return false; + }); + + firstitem.clicked() + verify(updateButton.enabled) + updateButton.clicked() + + compare(appRoot.currentTopLevel, appRoot.topUpdateComp, "correct component, updates"); + } + + function test_update() { + app.openMode("Update"); + + var updatePage = appRoot.stack.currentItem; + compare(typeName(updatePage), "UpdatesPage") + compare(updatePage.state, "has-updates", "to update") + var action = updatePage.currentAction + verify(action); + action.triggered(updatePage); + compare(updatePage.state, "has-updates", "updating") + + //make sure the window doesn't close while updating + verify(appRoot.visible); + verify(waitForRendering()) + appRoot.close() + verify(appRoot.visible); + + while(updatePage.state !== "now-uptodate") + waitForSignal(updatePage, "stateChanged") + compare(ResourcesModel.updatesCount, 0, "should be up to date") + } + + function test_search() { + app.openMode("Browsing"); + var searchField = findChild(appRoot.globalDrawer.topContent[0], "SearchField"); + verify(searchField); + searchField.text = "cocacola" + searchField.accepted() + while(!isType(appRoot.stack.currentItem, "ApplicationsListPage")) + verify(waitForSignal(appRoot.stack, "currentItemChanged")) + var listPage = appRoot.stack.currentItem + while(listPage.count>0) + verify(waitForSignal(listPage, "countChanged")) + compare(listPage.count, 0) + compare(listPage.search, "cocacola") + searchField.text = "dummy" + searchField.accepted() + compare(listPage.search, searchField.text) +// compare(listPage.count, ResourcesModel.rowCount()/2) + } + + function test_modes() { + app.openMode("Browsing"); + compare(appRoot.currentTopLevel, appRoot.topBrowsingComp, "correct component, browsing"); + verify(waitForRendering()) + + app.openMode("Installed"); + compare(appRoot.currentTopLevel, appRoot.topInstalledComp, "correct component, installed"); + verify(waitForRendering()) + + app.openMode("Update"); + compare(appRoot.currentTopLevel, appRoot.topUpdateComp, "correct component, updates"); + verify(waitForRendering()) + + app.openMode("Sources"); + compare(appRoot.currentTopLevel, appRoot.topSourcesComp, "correct component, sources"); + verify(waitForRendering()) + } +} diff --git a/discover/autotests/updateandinstall.qml b/discover/autotests/updateandinstall.qml new file mode 100644 index 0000000..ca3bbed --- /dev/null +++ b/discover/autotests/updateandinstall.qml @@ -0,0 +1,45 @@ +import QtQuick 2.0 +import org.kde.discover.app 1.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_openResource() { + app.openMode("Update"); + + {// we start an upate + var updatePage = appRoot.stack.currentItem; + compare(typeName(updatePage), "UpdatesPage") + compare(updatePage.state, "has-updates", "to update") + var action = updatePage.currentAction + verify(action); + action.triggered(null); + compare(updatePage.state, "has-updates", "updating") + } + + {//we start installing a resource + app.openApplication("dummy://dummy.1"); + verify(waitForSignal(appRoot.stack, "currentItemChanged")) + + var button = findChild(appRoot.stack.currentItem, "InstallApplicationButton") + console.log("button", appRoot.stack.currentItem, button) + verify(button) + verify(!button.isActive) + button.click() + } + + app.openMode("Update"); + { + var updatePage = appRoot.stack.currentItem; + compare(typeName(updatePage), "UpdatesPage") + while(updatePage.state === "fetching") + waitForSignal(updatePage, "stateChanged") + compare(updatePage.state, "now-uptodate", "to update") + var action = updatePage.currentAction + verify(!action.visible) + } + + while(updatePage.state != "now-uptodate") + waitForSignal(updatePage, "stateChanged") + } +} diff --git a/discover/autotests/wrongInput.qml b/discover/autotests/wrongInput.qml new file mode 100644 index 0000000..2b5c55a --- /dev/null +++ b/discover/autotests/wrongInput.qml @@ -0,0 +1,8 @@ +import QtQuick 2.0 +import QtTest 1.1 + +DiscoverTest +{ + function test_open() { + } +} diff --git a/discover/banners/banner.svg b/discover/banners/banner.svg new file mode 100644 index 0000000..e8da332 --- /dev/null +++ b/discover/banners/banner.svg @@ -0,0 +1,194 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/discover/banners/coffee.jpg b/discover/banners/coffee.jpg new file mode 100644 index 0000000..87c0429 Binary files /dev/null and b/discover/banners/coffee.jpg differ diff --git a/discover/banners/installedcrop.jpg b/discover/banners/installedcrop.jpg new file mode 100644 index 0000000..c193350 Binary files /dev/null and b/discover/banners/installedcrop.jpg differ diff --git a/discover/banners/syssettingscrop.jpg b/discover/banners/syssettingscrop.jpg new file mode 100644 index 0000000..d1c81f6 Binary files /dev/null and b/discover/banners/syssettingscrop.jpg differ diff --git a/discover/banners/updatescrop.jpg b/discover/banners/updatescrop.jpg new file mode 100644 index 0000000..7d4ceb6 Binary files /dev/null and b/discover/banners/updatescrop.jpg differ diff --git a/discover/icons/128-apps-plasmadiscover.png b/discover/icons/128-apps-plasmadiscover.png new file mode 100644 index 0000000..a20f474 Binary files /dev/null and b/discover/icons/128-apps-plasmadiscover.png differ diff --git a/discover/icons/16-apps-plasmadiscover.png b/discover/icons/16-apps-plasmadiscover.png new file mode 100644 index 0000000..d5f39f2 Binary files /dev/null and b/discover/icons/16-apps-plasmadiscover.png differ diff --git a/discover/icons/22-apps-plasmadiscover.png b/discover/icons/22-apps-plasmadiscover.png new file mode 100644 index 0000000..8858e7f Binary files /dev/null and b/discover/icons/22-apps-plasmadiscover.png differ diff --git a/discover/icons/32-apps-plasmadiscover.png b/discover/icons/32-apps-plasmadiscover.png new file mode 100644 index 0000000..e6ba232 Binary files /dev/null and b/discover/icons/32-apps-plasmadiscover.png differ diff --git a/discover/icons/48-apps-plasmadiscover.png b/discover/icons/48-apps-plasmadiscover.png new file mode 100644 index 0000000..81d05b1 Binary files /dev/null and b/discover/icons/48-apps-plasmadiscover.png differ diff --git a/discover/icons/CMakeLists.txt b/discover/icons/CMakeLists.txt new file mode 100644 index 0000000..aca7055 --- /dev/null +++ b/discover/icons/CMakeLists.txt @@ -0,0 +1,11 @@ +ecm_install_icons( + ICONS + 128-apps-plasmadiscover.png + 16-apps-plasmadiscover.png + 22-apps-plasmadiscover.png + 32-apps-plasmadiscover.png + 48-apps-plasmadiscover.png + sc-apps-plasmadiscover.svgz + DESTINATION ${ICON_INSTALL_DIR} + THEME hicolor +) diff --git a/discover/icons/sc-apps-plasmadiscover.svgz b/discover/icons/sc-apps-plasmadiscover.svgz new file mode 100644 index 0000000..b581cac Binary files /dev/null and b/discover/icons/sc-apps-plasmadiscover.svgz differ diff --git a/discover/main.cpp b/discover/main.cpp new file mode 100644 index 0000000..aae6274 --- /dev/null +++ b/discover/main.cpp @@ -0,0 +1,157 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +// #define QT_QML_DEBUG + +#include +#include +#include +#include +#include +#include +#include +#include "DiscoverObject.h" +#include +#include "DiscoverVersion.h" +#include +#include + +typedef QHash StringCompactMode; +Q_GLOBAL_STATIC_WITH_ARGS(StringCompactMode, s_decodeCompactMode, (StringCompactMode { + { QLatin1String("auto"), DiscoverObject::Auto }, + { QLatin1String("compact"), DiscoverObject::Compact }, + { QLatin1String("full"), DiscoverObject::Full } +})) + +QCommandLineParser* createParser() +{ + QCommandLineParser* parser = new QCommandLineParser; + parser->addOption(QCommandLineOption(QStringLiteral("application"), i18n("Directly open the specified application by its package name."), QStringLiteral("name"))); + parser->addOption(QCommandLineOption(QStringLiteral("mime"), i18n("Open with a program that can deal with the given mimetype."), QStringLiteral("name"))); + parser->addOption(QCommandLineOption(QStringLiteral("category"), i18n("Display a list of entries with a category."), QStringLiteral("name"))); + parser->addOption(QCommandLineOption(QStringLiteral("mode"), i18n("Open Discover in a said mode. Modes correspond to the toolbar buttons."), QStringLiteral("name"))); + parser->addOption(QCommandLineOption(QStringLiteral("listmodes"), i18n("List all the available modes."))); + parser->addOption(QCommandLineOption(QStringLiteral("compact"), i18n("Compact Mode (auto/compact/full)."), QStringLiteral("mode"), QStringLiteral("auto"))); + parser->addOption(QCommandLineOption(QStringLiteral("local-filename"), i18n("Local package file to install"), QStringLiteral("package"))); + parser->addOption(QCommandLineOption(QStringLiteral("listbackends"), i18n("List all the available backends."))); + parser->addOption(QCommandLineOption(QStringLiteral("test"), QStringLiteral("Test file"), QStringLiteral("file.qml"))); + parser->addPositionalArgument(QStringLiteral("urls"), i18n("Supports appstream: url scheme")); + DiscoverBackendsFactory::setupCommandLine(parser); + KAboutData::applicationData().setupCommandLine(parser); + parser->addHelpOption(); + parser->addVersionOption(); + return parser; +} + +void processArgs(QCommandLineParser* parser, DiscoverObject* mainWindow) +{ + if(parser->isSet(QStringLiteral("application"))) + mainWindow->openApplication(QUrl(parser->value(QStringLiteral("application")))); + else if(parser->isSet(QStringLiteral("mime"))) + mainWindow->openMimeType(parser->value(QStringLiteral("mime"))); + else if(parser->isSet(QStringLiteral("category"))) + mainWindow->openCategory(parser->value(QStringLiteral("category"))); + + if(parser->isSet(QStringLiteral("mode"))) + mainWindow->openMode(parser->value(QStringLiteral("mode"))); + + if(parser->isSet(QStringLiteral("local-filename"))) + mainWindow->openLocalPackage(QUrl::fromUserInput(parser->value(QStringLiteral("local-filename")), {}, QUrl::AssumeLocalFile)); + + foreach(const QString &arg, parser->positionalArguments()) { + const QUrl url = QUrl::fromUserInput(arg, {}, QUrl::AssumeLocalFile); + if (url.isLocalFile()) + mainWindow->openLocalPackage(url); + else if (url.scheme() == QLatin1String("apt")) + Q_EMIT mainWindow->openSearch(url.host()); + else + mainWindow->openApplication(url); + } +} + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + app.setWindowIcon(QIcon::fromTheme(QStringLiteral("plasmadiscover"))); + app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); + KCrash::initialize(); + KLocalizedString::setApplicationDomain("plasma-discover"); + KAboutData about(QStringLiteral("discover"), i18n("Discover"), version, i18n("An application explorer"), + KAboutLicense::GPL, i18n("© 2010-2018 Plasma Development Team")); + about.addAuthor(i18n("Aleix Pol Gonzalez"), QString(), QStringLiteral("aleixpol@blue-systems.com")); + about.addAuthor(i18n("Jonathan Thomas"), QString(), QStringLiteral("echidnaman@kubuntu.org")); + about.setProductName("discover/discover"); + KAboutData::setApplicationData(about); + + DiscoverObject *mainWindow = nullptr; + { + QScopedPointer parser(createParser()); + parser->process(app); + about.processCommandLine(parser.data()); + DiscoverBackendsFactory::processCommandLine(parser.data(), parser->isSet(QStringLiteral("test"))); + + if(parser->isSet(QStringLiteral("listbackends"))) { + QTextStream(stdout) << i18n("Available backends:\n"); + DiscoverBackendsFactory f; + foreach(const QString& name, f.allBackendNames(false, true)) + QTextStream(stdout) << " * " << name << '\n'; + return 0; + } + + if (parser->isSet(QStringLiteral("test"))) { + QStandardPaths::setTestModeEnabled(true); + } + + KDBusService* service = new KDBusService(KDBusService::Unique, &app); + + mainWindow = new DiscoverObject(s_decodeCompactMode->value(parser->value(QStringLiteral("compact")), DiscoverObject::Full)); + QObject::connect(&app, &QCoreApplication::aboutToQuit, mainWindow, &DiscoverObject::deleteLater); + QObject::connect(service, &KDBusService::activateRequested, mainWindow, [mainWindow](const QStringList &arguments, const QString &/*workingDirectory*/){ + if (!mainWindow->rootObject()) + QCoreApplication::instance()->quit(); + + mainWindow->rootObject()->raise(); + if (arguments.isEmpty()) + return; + QScopedPointer parser(createParser()); + parser->parse(arguments); + processArgs(parser.data(), mainWindow); + }); + + processArgs(parser.data(), mainWindow); + + if(parser->isSet(QStringLiteral("listmodes"))) { + QTextStream(stdout) << i18n("Available modes:\n"); + foreach(const QString& mode, mainWindow->modes()) + QTextStream(stdout) << " * " << mode << '\n'; + delete mainWindow; + return 0; + } + + if (parser->isSet(QStringLiteral("test"))) { + const QUrl testFile = QUrl::fromUserInput(parser->value(QStringLiteral("test")), {}, QUrl::AssumeLocalFile); + Q_ASSERT(!testFile.isEmpty() && testFile.isLocalFile()); + + mainWindow->loadTest(testFile); + } + } + + return app.exec(); +} diff --git a/discover/org.kde.discover.appdata.xml b/discover/org.kde.discover.appdata.xml new file mode 100644 index 0000000..20d6298 --- /dev/null +++ b/discover/org.kde.discover.appdata.xml @@ -0,0 +1,194 @@ + + + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + Discover + استكشف + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Avastusretk + Discover + Discover + Discover + Discover + Discoperi + Discover + Discover + 발견 + Ontdekken + Discover + Odkrywca + Discover + Discover + Центр приложений Discover + Objaviť + Discover + Oткривач + Otkrivač + Oткривач + Otkrivač + Discover + Keşfet + Discover + xxDiscoverxx + 发现 + Discover + Discover + استكشف + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Avastusretk + Discover + Discover + Discover + Discover + Discoperi + Discover + Discover + 발견 + Ontdekken + Discover + Odkrywca + Discover + Discover + Центр приложений Discover + Objaviť + Discover + Oткривач + Otkrivač + Oткривач + Otkrivač + Discover + Keşfet + Discover + xxDiscoverxx + 发现 + Discover + +

Haven’t you ever found a tool that was perfect for your need but you only found it after some time stumbling upon it on the net? When considering to install an application, don’t you wonder sometimes if it’s really worth it? Or if it’s actually what you’re looking for?

+

ألم تجد يومًا الأداة التي لبّت حاجتك تمامًا، ولكن بعد صراع طويل بالبحث عنها في الشّابكة؟ هل يأتي في خاطرك عندما تريد تثبيت تطبيق ما، إن كان ذلك يستحقّ ذلك أو لا؟ أو حتّى إن كان هو ما تبحث عنه؟

+

Alguna vegada heu trobat una eina que era perfecta per a les vostres necessitats però l'heu vist després d'ensopegar-hi per la xarxa? Quan considereu instal·lar una aplicació, voleu saber si val la pena? O si és la que realment esteu cercant?

+

Alguna vegada heu trobat una eina que era perfecta per a les vostres necessitats però l'heu vist després d'ensopegar-hi per la xarxa? Quan considereu instal·lar una aplicació, voleu saber si val la pena? O si és la que realment esteu cercant?

+

Har du haft problemer med at finde det rigtige værktøj til dit behov og først fundet det efter nogen tid hvor du faldt over det på nettet? Når du overvejer at installere et program overvejer du så ikke nogle gange om det er det værd? Eller om det faktisk er det du leder efter?

+

Haben Sie noch nie ein Programm für Ihre Bedürfnisse gesucht, das Sie aber nur nach längerer Suche im Netz gefunden haben? Wenn Sie eine Anwendung installieren möchten, fragen Sie sich nicht manchmal, ob es sich wirklich lohnt? Oder ob es wirklich das ist, wonach Sie eigentlich suchen?

+

Haven’t you ever found a tool that was perfect for your need but you only found it after some time stumbling upon it on the net? When considering to install an application, don’t you wonder sometimes if it’s really worth it? Or if it’s actually what you’re looking for?

+

¿Ha encontrado alguna vez una herramienta perfecta para sus necesidades aunque solo la ha encontrado tras perder un tiempo valioso en Internet? Cuando considera instalar una aplicación, ¿no se pregunta a veces si realmente merece la pena o si realmente es lo que estaba buscando?

+

Kahtlemata on sulgi ette tulnud, et oled leidnud täpselt sobiva ja vajaliku tööriista täiesti kogemata sellele internetis peale komistades. Või oled mõne rakenduse puhul kaalunud, kas ikka tasub seda üldse paigaldada või kas see on üldse see, mida sulle tegelikult vaja läheb.

+

Ez al duzu aurkitu inoiz zure beharretarako zeharo egokia zen tresna bat baino hura aurkitu zenuen soilik sarean denbora dezente eman ondoren? Aplikazio bat instalatzea hausnartzean, batzutan ez al duzu zalantzarik benetan merezi duen? Edo benetan ote den bilatzen duzuna?

+

Oletko koskaan törmännyt työkaluun, joka täyttää täysin tarpeesi mutta jonka löysit vasta pitkään verkossa etsittyäsi? Harkitessasi sovelluksen asentamista, etkö joskus mieti, onko se sen arvoista, tai onko se mitä todella etsit?

+

N'avez-vous jamais trouvé un outil correspondant parfaitement à vos besoins qu'après de longues recherches sur le net ? Lorsque vous pensez installer une application, ne vous êtes-vous jamais demandé si cela en valait la peine ? Ou si elle correspondait à ce que vous cherchez ?

+

Nunca lle pasou que atopou unha ferramenta perfecta para o que necesitaba, pero que só a atopou tras un bo anaco buscando en internet? Á hora de instalar un aplicativo, non se pregunta ás veces se paga a pena? Ou se realmente é o aplicativo que está a buscar?

+

Apakah Anda tidak pernah menemukan sebuah alat yang sempurna untuk kebutuhan Anda, tetapi hanya Anda yang menemukannya setelah beberapa waktu tersandung atas itu di internet? Ketika mempertimbangkan untuk memasang aplikasi, tidakkah Anda bertanya-tanya kadang-kadang apakah itu benar-benar layak? Atau jika itu benar demikian apa yang Anda cari?

+

Non hai mai trovato uno strumento che fosse perfetto per le tue esigenze, ma lo hai trovato solo dopo esserci incappato in Internet? Quando decidi se installare un'applicazione, non ti chiedi a volte se ne valga davvero la pena? O se è effettivamente ciò che stai cercando?

+

인터넷을 오랫동안 검색한 결과 끝에 필요한 도구가 무엇인지 찾은 적이 있었습니까? 프로그램을 설치할 때 이 프로그램이 유용한지 알고 싶은 적이 있었습니까? 아니면 목적에 맞는 프로그램인지 생각해 본 적이 있었습니까?

+

Hebt u niet ooit een hulpmiddel gevonden dat perfect was voor uw behoefte maar dat u alleen na enige tijd toevallig vond op het internet? Bij de overweging om een toepassing te installeren, hebt u uzelf dan soms niet afgevraagd of het dat werkelijk waard was? Of of het echt was waarnaar u op zoek was?

+

Har du nokon gong funne eit program som var midt i blinken for deg, men berre etter ein lengre ekspedisjon på nettet? Når du vurderer å installera eit program, lurer du nokon gong på om det er verdt det? Eller på om det eigentleg er programmet du treng?

+

Czy miałeś kiedyś tak, że znalazłeś idealne narzędzie, jednak na jego poszukiwania spędziłeś wiele czasu w sieci? Czy przy wgrywaniu programu na swój komputer, zastanawiasz się czasami czy jest on tego warty, albo czy jest to to czego właśnie szukasz?

+

Nunca encontrou uma ferramenta que fosse perfeita para as suas necessidades, mas que só a tivesse encontrado depois de "tropeçar" nela na Internet? Ao considerar instalar uma aplicação, não se questionou algumas vezes se realmente vale a pena? Ou se é realmente o que procura?

+

Em algum momento você já procurou uma ferramenta que fosse perfeita para as suas necessidades, mas só encontrou depois de "tropeçar" nela na Internet? Ao considerar a instalação de um aplicativo, não se questionou algumas vezes se realmente vale a pena, ou se é realmente o que procura?

+

Случалось ли вам случайно находить приложение, которое отлично подходит для решения ваших задач, но уже после того, как задача была решена? Не приходилось ли вам сомневаться перед установкой незнакомого приложения: действительно ли это именно то, что нужно?

+

Našli ste už nástroj, ktorý vám výborne vyhovuje, ale našli ste ho až po dlhom čase hľadania na nete? Keď zvážime inštaláciu aplikácie, nedivíte sa niekedy, či sa to naozaj oplatí? Alebo či je to naozaj to, čo hľadáte?

+

Ali ste kdaj našli orodje, ki je bilo odlično za vas, šele po mukotrpnem iskanju po spletu? Se ob nameščanju programa kdaj vprašate, če je res vreden namestitve? Ali pa, če je sploh to, kar iščete?

+

Зар нисте бар једном нашли алатку која савршено пристаје вашим потребама, али тако што сте на њу случајно натрапали на Интернету? Када размишљате да ли да инсталирате неки програм, зар се не питате да ли је вредно труда? И да ли заиста одговара ономе што сте тражили?

+

Zar niste bar jednom našli alatku koja savršeno pristaje vašim potrebama, ali tako što ste na nju slučajno natrapali na Internetu? Kada razmišljate da li da instalirate neki program, zar se ne pitate da li je vredno truda? I da li zaista odgovara onome što ste tražili?

+

Зар нисте бар једном нашли алатку која савршено пристаје вашим потребама, али тако што сте на њу случајно натрапали на Интернету? Када размишљате да ли да инсталирате неки програм, зар се не питате да ли је вредно труда? И да ли заиста одговара ономе што сте тражили?

+

Zar niste bar jednom našli alatku koja savršeno pristaje vašim potrebama, ali tako što ste na nju slučajno natrapali na Internetu? Kada razmišljate da li da instalirate neki program, zar se ne pitate da li je vredno truda? I da li zaista odgovara onome što ste tražili?

+

Har du aldrig hittat ett verktyg som är perfekt för dina behov, men bara efter att ha stött på det på nätet av en slump? När du funderar på att installera ett program, undrar du inte ibland om det verkligen är värt att göra? Eller om det verkligen är vad du behöver?

+

Tam ihtiyacınız olan aracı internette uzun süre araştırmadan sonra bulmadınız mı? Uygulama yüklendikten sonra bazen gerçekten buna değip değmediğini düşünmüyorsunuz? Ya da gerçekten aradığınız şey olup olmadığını?

+

Чи траплялося вам знаходити програму, яка повністю задовольняє ваші потреби, після довгих пошуків у інтернеті? Чи не кортіло вам дізнатися про те, чи варто встановлювати програму, ще до її встановлення? Чи хотіли б ви наперед знати, чи та це програма, яка вам потрібна?

+

xxHaven’t you ever found a tool that was perfect for your need but you only found it after some time stumbling upon it on the net? When considering to install an application, don’t you wonder sometimes if it’s really worth it? Or if it’s actually what you’re looking for?xx

+

您是否只网络上搜索之后才找到一个完美符合需求的工具?当安装一个程序时,您没有想过知道是否真的值得安装吗?或者它确实是您想要找的目标?

+

您曾在網路上找到一些原先看起來很完美,但到最後卻一直阻礙您生活的工具嗎?當考慮安裝應用程式時,您不會想到它是否真的符合我的需要嗎?又或著,您實際上是在找些什麼東西?

+

Discover helps users easily and quickly find applications or tools. By allowing to navigate a software library by search, software categories, top lists along with detailed application information that includes screenshots and reviews, users can more quickly find applications that suit their needs.

+

يساعد «استكشف» المستخدمين بالعثور على التّطبيقات أو الأدوات بسهولة وسرعة، وذلك بالتّنقّل في مكتبة البرمجيّات عبر البحث والفئات وأفضل البرمجيّات. هذا إلى جانب معلومات التّطبيقات المفصّلة التي تشمل لقطات شاشة ومراجعات. بذلك يصبح العثور على التّطبيقات سريعًا ومناسبًا لحاجة المستخدم.

+

El Discover ajuda als usuaris a cercar aplicacions i eines fàcilment i ràpidament. Permet explorar una biblioteca de programari cercant per categories de programari, llistes més valorades, junt amb informació detallada que inclou captures de pantalla i ressenyes. Els usuaris poden cercar ràpidament aplicacions que s'ajustin a les seves necessitats.

+

El Discover ajuda als usuaris a cercar aplicacions i eines fàcilment i ràpidament. Permet explorar una biblioteca de programari cercant per categories de programari, llistes més valorades, junt amb informació detallada que inclou captures de pantalla i ressenyes. Els usuaris poden cercar ràpidament aplicacions que s'ajusten a les seues necessitats.

+

Discover hjælper brugere med nemt og hurtigt at finde programmer eller værktøjer. Ved at lade dig navigere et softwarebibliotek med søgning, softwarekategorier, toplister og detaljeret information om programmerne inklusiv skærmbilleder og anmeldelser, så brugere hurtigere kan finde programmer der matcher deres behov.

+

Discover hilft Anwendern, Anwendungen oder Dienstprogramme schnell und einfach zu finden. Durch die Navigation in einer Softwarebibliothek nach Suchkriterien, Softwarekategorien, Favoritenliste zusammen mit detaillierten Anwendungsinformationen, Bildschirmfotos und Beurteilungen können Anwender schneller Anwendungen finden, die ihren Bedürfnissen entsprechen.

+

Discover helps users easily and quickly find applications or tools. By allowing to navigate a software library by search, software categories, top lists along with detailed application information that includes screenshots and reviews, users can more quickly find applications that suit their needs.

+

Discover le ayuda a encontrar aplicaciones y herramientas de una forma rápida y fácil. Al poder explorar una biblioteca de software usando búsquedas, categorías de software y listas de puntuaciones, junto a una detallada información sobre las aplicaciones que incluye capturas de pantalla y comentarios, los usuarios pueden encontrar más rápidamente aplicaciones que satisfagan sus necesidades.

+

Avastusretk aitab kasutajatel kiiresti ja vähese vaevaga leida vajaliku tööriista või rakenduse. Kui kasutaja saab tarkvarakogus hõlpsasti ringi liikuda ja olemasolevat näha nii otsides, kategooriate kaupa või mitmel alusel järjestatavate edetabelite abil, kusjuures alati pakutakse rakenduste kohta põhjalikku teavet koos ekraanipiltide ja arvustustega, ei ole täpselt sobiva tööriista või rakenduse leidmine enam kuigi keeruline.

+

Discover-rek erabiltzaileei aplikazioak edo tresnak erraz eta azkar aurkitzen laguntzen die. Software liburutegi batean nabigatzeko aukera eskainiz, bilaketa bidez, software kategoria bidez, top zerrenden bidez, aplikazioen informazio xehatuarekin batera pantaila-argazkiak eta iritziak barne, erabiltzaileek beraien beharretara egokitzen diren aplikazioak azkarrago aurkitu ditzakete.

+

Discover auttaa käyttäjiä löytämään sovellukset helposti ja nopeasti. Selaamalla ohjelmistokirjastoja hakujen, sovellusluokkien, suosikkiluetteloiden sekä ruutukaappauksia ja arvosteluja sisältävien yksityiskohtaisten lisätietojen avulla käyttäjät löytävät nopeammin tarpeitaan vastaavat sovellukset.

+

Discover aide les utilisateurs à rapidement trouver des applications ou des outils. En permettant de naviguer dans une bibliothèque de logiciels par recherche, par catégorie de logiciel, par classement des meilleures applications avec des informations détaillées contenant des captures d'écran ainsi que des notations, les utilisateurs peuvent trouver plus rapidement des applications qui correspondent à leurs besoins.

+

Discover permite atopar aplicativos e ferramentas de maneira fácil e rápida. Atope rapidamente aplicativos que se axustan ás súas necesidades explorando a biblioteca de software mediante buscas, categorías de software, e listas de aplicativos máis usados con información detallada dos aplicativos, incluíndo capturas de pantalla e opinións de usuarios.

+

Discover membantu pengguna dengan mudah dan cepat menemukan aplikasi atau alat-alat. Oleh karena itu memungkinkan untuk menavigasi sebuah perpustakaan perangkat lunak dengan mencari, kategori perangkat lunak, daftar teratas beserta informasi aplikasi terinci yang meliputi cuplikanlayar dan ulasan, pengguna bisa lebih cepat menemukan aplikasi yang sesuai dengan kebutuhan mereka.

+

Discover aiuta gli utenti a trovare in modo semplice e rapido applicazioni o strumenti. Permettendo di navigare una raccolta di software tramite ricerca, categorie di software, liste preferite oltre alle informazioni dettagliate sulle applicazioni che includono schermate e recensioni, gli utenti possono trovare più rapidamente applicazioni che si adattano alle loro esigenze.

+

발견을 통하여 프로그램과 도구를 쉽고 빠르게 발견할 수 있습니다. 소프트웨어 라이브러리를 직접 검색하거나, 분류별 및 상위 목록으로 볼 수 있으며 스크린샷과 리뷰를 포함한 소프트웨어 정보를 통해서 필요한 프로그램을 찾을 수 있습니다.

+

Discover helpt gebruikers om gemakkelijk en snel een toepassing of hulpmiddel te vinden. Door navigatie te bieden in een softwarebibliotheek door zoeken in softwarecategorieën, lijsten met toppers, samen met gedetailleerde informatie over toepassingen die schermafdrukken en reviews bevatten, kunnen gebruikers sneller toepassingen vinden die in hun behoeften voorzien.

+

Med Discover vert det lettare å finna program og verktøy. Du kan søkja etter program eller sjå gjennom programkategoriar og lister over populære program. Du får òg detaljert informasjon om kvart program, med bilete og brukaromtalar.

+

Odkrywca pomaga użytkownikowi w szybkim i łatwym wyszukiwaniu potrzebnych aplikacji i narzędzi. Umożliwia on przeglądanie biblioteki oprogramowania poprzez wyszukiwania, kategorie oprogramowania, listy najlepszych aplikacji wraz ze szczegółami takimi jak zrzuty ekranu i recenzje. W ten sposób użytkownicy znajdują szybciej to czego szukają.

+

O Discover ajuda os utilizadores a procurar fácil e rapidamente aplicações ou ferramentas. Ao permitir navegar numa biblioteca de 'software' com a pesquisa, as categorias de aplicações, as listas de topo com informações detalhadas, incluindo fotografias e revisões, os utilizadores poderão encontrar mais rapidamente as aplicações que se adequam às suas necessidades.

+

O Discover ajuda os usuários a encontrar os aplicativos e ferramentas de forma rápida e fácil. Ao fornecer acesso a uma biblioteca de software com uma ferramenta de pesquisa, por categorias de software, por listas das ferramentas mais populares e com informações detalhadas, incluindo capturas de tela e avaliações, os usuários poderão encontrar mais rapidamente os aplicativos que se adequam às suas necessidades.

+

Центр приложений Discover служит для быстрого и простого поиска нужного приложения. Приложения расположены в соответствующих категориях, возможен поиск по библиотеке приложений, представлены списки наиболее популярных приложений. Для каждого приложения предоставлена подробная информация, включающая снимки экрана и отзывы пользователей.

+

Discover vám pomôže ľahko a rýchlo nájsť aplikácie alebo nástroje. Umožní vám navigáciu cez knižnicu softvéru cez hľadanie, kategórie softvéru, najlepšie zoznamy spolu s podrobnými informáciami, ktoré obsahujú obrazovky a recenzie, teda môžete ľahšie nájsť aplikáciu, ktorá vám vyhovuje.

+

Discover vam pomaga na enostaven način najti programe ali orodja. Omogoča vam krmarjenje po knjižnicah s programi preko iskalnika, kategorij programov in seznamov najboljših programov. Ogledali si boste lahko podrobnosti o programu vključno s posnetki zaslona in ocenami ter tako hitreje našli programe, ki zadoščajo vašim potrebam.

+

Oткривач помаже корисницима да лако и брзо налазе програме и алатке. Кретањем кроз библиотеку софтвера путем претраге, категорија, топ‑листа, праћеним детаљним описима програма, снимцима екрана и рецензијама, корисник може брзо да пронађе програм према својим потребама.

+

Otkrivač pomaže korisnicima da lako i brzo nalaze programe i alatke. Kretanjem kroz biblioteku softvera putem pretrage, kategorija, top‑lista, praćenim detaljnim opisima programa, snimcima ekrana i recenzijama, korisnik može brzo da pronađe program prema svojim potrebama.

+

Oткривач помаже корисницима да лако и брзо налазе програме и алатке. Кретањем кроз библиотеку софтвера путем претраге, категорија, топ‑листа, праћеним детаљним описима програма, снимцима екрана и рецензијама, корисник може брзо да пронађе програм према својим потребама.

+

Otkrivač pomaže korisnicima da lako i brzo nalaze programe i alatke. Kretanjem kroz biblioteku softvera putem pretrage, kategorija, top‑lista, praćenim detaljnim opisima programa, snimcima ekrana i recenzijama, korisnik može brzo da pronađe program prema svojim potrebama.

+

Discover hjälper användare att enkelt och snabbt hitta program eller verktyg. Genom att göra det möjligt att gå igenom ett programvarubibliotek via sökning, enligt programvarukategorier och i topplistor tillsammans med detaljerad programinformation som innehåller skärmbilder och recensioner, kan användare snabbare hitta program som passar deras behov.

+

Keşfet, kullanıcıların hızlıca araç ve uygulamaları bulmalaraını sağlar. Bir yazılım kütüphanesinde arama, kategorilere göre veya en çok indirilen listesi ile birlikte, ekran görüntüleri ve değerlendirmeleri göstererek, kullanıcılar ihtiyaçları olan uygulamaları daha hızlı bulabilirler.

+

Discover допомагає користувачам просто і швидко знаходити програми або інструменти. Користувач може просто мандрувати бібліотекою програмного забезпечення, шукаючи програми, передивляючись списки категорій програм, найкращих програм, та ознайомлюючись із докладною інформацією щодо програм, знімками вікон та відгуками інших користувачів. Знайти потрібну програму у такий спосіб можна набагато швидше.

+

xxDiscover helps users easily and quickly find applications or tools. By allowing to navigate a software library by search, software categories, top lists along with detailed application information that includes screenshots and reviews, users can more quickly find applications that suit their needs.xx

+

发现能够帮助用户简单快捷的找到程序或者工具。通过对软件库的搜索,软件分类,热门列表和包括截图和评论的细节的程序信息,用户可以更快的找到符合要求的程序。

+

Discover 協助使用者簡單且快速地找到應用程式或工具。透過搜尋、軟體類別、精選軟體清單等等的方式瀏覽軟體庫,其中並包含了詳細的應用程式資訊,如螢幕截圖、使用感想等,使用者可以更快速地找到符合他們需求的應用程式。

+

Furthermore, Discover will let you manage the different sources of software you have and manage the applications you’ve already installed in the past but you don’t want anymore.

+

عدا عن هذا كلّه، يتيح لك «استكشف» إدارة مختلف مصادر البرمجيّات التي لديك كما وإدارة التّطبيقات المثبّتة والتي لم تعد تحتاجها بعد الآن.

+

Per altra banda, el Discover permet gestionar les diferents fonts de programari que tingueu i gestionar les aplicacions que ja heu instal·lat en el passat però ja no desitgeu.

+

Per altra banda, el Discover permet gestionar les diferents fonts de programari que tingueu i gestionar les aplicacions que ja heu instal·lat en el passat però ja no desitgeu.

+

Desuden vil Discover lade dig håndtere dine forskellige softwarekilder og håndtere de programmer du allerede tidligere har installeret, men som du ikke længere ønsker.

+

Darüber hinaus können Sie mit Discover Ihre verschiedenen Softwarequellen verwalten sowie auch die Anwendungen, die Sie früher bereits installiert haben, aber nicht mehr verwenden möchten.

+

Furthermore, Discover will let you manage the different sources of software you have and manage the applications you have already installed in the past but you do not want any more.

+

Además, Discover le permite gestionar las distintas fuentes de software de las que disponga y las aplicaciones que ya hubiera instalado en el pasado y que ya no desee.

+

Lisaks laseb Avastusretk sul mitmekülgselt hallata kõiki sinu käsutuses olevaid tarkvaraallikaid ega jäta sind hätta ka siis, kui sul leidub tarkvara, mille oled kunagi paigaldanud, aga enam sugugi ei vaja.

+

Honetaz gain, Discover-rek dituzun software iturburu desberdinak kudeatzen utziko dizu eta iraganean instalatu zenituen baino gehiago nahi ez dituzun aplikazioak kudeatzen utziko dizu.

+

Discover sallii sinun lisäksi hallita erilaisia ohjelmalähteitä sekä sovelluksia, jotka olet jo asentanut mutta joita et enää halua.

+

De plus, Discover vous permet de gérer les différentes sources de logiciels que vous avez et permet de gérer les applications que vous avez installé par le passé et que vous ne voulez plus.

+

Ademais, Discover permitiralle xestionar as distintas fontes de software de que dispón e xestionar os aplicativos que ten instalados pero que xa non lle interesan.

+

Selanjutnya, Discover akan membiarkan Anda mengelola sumber perangkat lunak yang berbeda-beda yang Anda miliki dan mengelola aplikasi yang sudah Anda pasang di masa lalu tetapi Anda tidak menginginkannya lagi.

+

Inoltre, Discover ti consentirà di gestire le diverse fonti del software disponibili e gestire le applicazioni che hai già installato in passato, ma che non ti servono più.

+

발견을 통하여 여러 소프트웨어 저장소를 관리하고 이전에 설치했지만 필요하지 않은 프로그램을 관리할 수 있습니다.

+

Verder laat Discover u de verschillende bronnen van software die u hebt beheren, evenals de al eerder geïnstalleerde toepassingen maar die u niet meer wilt.

+

Du får òg kontroll over dei ulike programvarekjeldene du har, og kan lett avinstallera program du tidlegare har installert men som du ikkje lenger treng.

+

Dodatkowo, Odkrywca umożliwia zarządzanie wieloma źródłami oprogramowania i oprogramowaniem, które jest już na twoim komputerze i którego chcesz się pozbyć.

+

Para além disso, o Discover permitir-lhe-á gerir as diferentes fontes de aplicações que tem e gerir as aplicações que já instalou no passado e que não quer mais.

+

Além disso, o Discover possibilita gerenciar as diferentes fontes de software que você possui e os aplicativos que já foram instalados e que não são mais necessários.

+

Кроме того, центр приложений Discover позволяет управлять источниками приложений, а также выполнять удаление ненужных приложений.

+

Okrem toho, Discover vám umožní spracovať rôzne zdroje softvéru a spravovať aplikácie, ktoré máte nainštalované, ale už ich nechcete.

+

Discover vam tudi omogoča upravljati s programskimi viri in že nameščenimi programi.

+

Затим, Oткривач вам омогућава да управљате различитим изворима софтвера, као и програмима које сте инсталирали раније али их више не желите.

+

Zatim, Otkrivač vam omogućava da upravljate različitim izvorima softvera, kao i programima koje ste instalirali ranije ali ih više ne želite.

+

Затим, Oткривач вам омогућава да управљате различитим изворима софтвера, као и програмима које сте инсталирали раније али их више не желите.

+

Zatim, Otkrivač vam omogućava da upravljate različitim izvorima softvera, kao i programima koje ste instalirali ranije ali ih više ne želite.

+

Dessutom låter Discover dig hantera olika programvarukällor du använder och hantera program som du redan tidigare har installerat men inte lägre vill ha.

+

Dahası, Keşfet, geçmişte yüklediğiniz fakat artık ihtiyacınız olmayan uygulamaları yönetmenize de olanak sağlar.

+

Крім того, Discover надасть вам змогу керувати різними джерелами програмного забезпечення та вилучати програми, у яких уже немає потреби.

+

xxFurthermore, Discover will let you manage the different sources of software you have and manage the applications you’ve already installed in the past but you don’t want anymore.xx

+

进一步,发现还可以管理多个不同软件源并且管理过去已安装但不再需要的程序。

+

此外,Discover 讓您管理您所擁有的不同的軟體來源,也可以管理您以前安裝,但現在並不想要了的應用程式。

+
+ https://bugs.kde.org/enter_bug.cgi?format=guided&product=Discover + + + https://www.kde.org/announcements/plasma-5.5/discover.png + + + KDE + + plasma-discover + +
diff --git a/discover/org.kde.discover.desktop.cmake b/discover/org.kde.discover.desktop.cmake new file mode 100644 index 0000000..6528cfc --- /dev/null +++ b/discover/org.kde.discover.desktop.cmake @@ -0,0 +1,174 @@ +[Desktop Entry] +Name=Discover +Name[ar]=استكشف +Name[ast]=Discover +Name[ca]=Discover +Name[ca@valencia]=Discover +Name[da]=Discover +Name[de]=Discover +Name[el]=Discover +Name[en_GB]=Discover +Name[es]=Discover +Name[et]=Avastusretk +Name[eu]=Discover +Name[fi]=Discover +Name[fr]=Discover +Name[gl]=Descubrir +Name[he]=מרכז התוכנות Discover +Name[hu]=Discover +Name[ia]=Discoperi +Name[id]=Discover +Name[it]=Discover +Name[ko]=발견 +Name[nl]=Ontdekken +Name[nn]=Discover +Name[pa]=ਖੋਜ +Name[pl]=Odkrywca +Name[pt]=Discover +Name[pt_BR]=Discover +Name[ru]=Discover +Name[sk]=ObjaviÅ¥ +Name[sl]=Discover +Name[sr]=Oткривач +Name[sr@ijekavian]=Oткривач +Name[sr@ijekavianlatin]=Otkrivač +Name[sr@latin]=Otkrivač +Name[sv]=Upptäck +Name[tr]=Keşfet +Name[uk]=Discover +Name[x-test]=xxDiscoverxx +Name[zh_CN]=发现 +Name[zh_TW]=Discover +MimeType=@DesktopMimeType@ +Exec=@DesktopExec@ +Icon=plasmadiscover +Type=Application +X-DocPath=plasma-discover/index.html +InitialPreference=5 +NoDisplay=@DesktopNoDisplay@ +Actions=Updates; +GenericName=Software Center +GenericName[ar]=مركز البرمجيّات +GenericName[ca]=Centre de programari +GenericName[ca@valencia]=Centre de programari +GenericName[cs]=Centrum softwaru +GenericName[da]=Softwarecenter +GenericName[de]=Programmverwaltung +GenericName[el]=Κέντρο λογισμικού +GenericName[en_GB]=Software Centre +GenericName[es]=Centro de software +GenericName[et]=Tarkvarakeskus +GenericName[eu]=Software gunea +GenericName[fi]=Sovellusvalikoima +GenericName[fr]=Logithèque +GenericName[gl]=Centro de Software +GenericName[he]=מרכז התוכנות +GenericName[hu]=Szoftverközpont +GenericName[id]=Pusat Perangkat Lunak +GenericName[it]=Software Center +GenericName[ko]=소프트웨어 센터 +GenericName[nb]=Programvaresenter +GenericName[nl]=Softwarecentrum +GenericName[nn]=Programvaresenter +GenericName[pa]=ਸਾਫਟਵੇਅਰ ਸੈਂਟਰ +GenericName[pl]=Ośrodek programów +GenericName[pt]=Centro de Aplicações +GenericName[pt_BR]=Central de aplicativos +GenericName[ru]=Центр программ +GenericName[sk]=Softwareové centum +GenericName[sl]=Programsko središče +GenericName[sr]=Софтверски центар +GenericName[sr@ijekavian]=Софтверски центар +GenericName[sr@ijekavianlatin]=Softverski centar +GenericName[sr@latin]=Softverski centar +GenericName[sv]=Programvarucentral +GenericName[tr]=Yazılım Merkezi +GenericName[uk]=Центр програм +GenericName[x-test]=xxSoftware Centerxx +GenericName[zh_CN]=软件中心 +GenericName[zh_TW]=軟體中心 +Categories=Qt;KDE;System; +Keywords=program;software;repository;package;install;remove;update;apps;applications; +Keywords[ar]=برنامج;برمجيّة;برمجية;مستودع;حزمة;تثبيت;إزالة;ازالة;تحديث;تطبيقات;تطبيق; +Keywords[ca]=programa;programari;repositori;paquet;instal·la;suprimeix;actualitza;apps;aplicacions; +Keywords[ca@valencia]=programa;programari;repositori;paquet;instal·la;suprimeix;actualitza;apps;aplicacions; +Keywords[cs]=program;software;repozitář;balíček;instalovat;odstranit;aktualizovat;programy;aplikace; +Keywords[da]=program;software;softwarekilde;repository;pakke;installer;fjern;opdater;apps;applikationer; +Keywords[de]=Programm;Software;Archiv;Repository;Paket;Installieren;Entfernen;Aktualisieren;Programme;Anwendungen; +Keywords[el]=πρόγραμμα;λογισμικό;αποθετήριο;πακέτο;εγκατάσταση;αφαίρεση;ενημέρωση;εφαρμογές; +Keywords[en_GB]=program;software;repository;package;install;remove;update;apps;applications; +Keywords[es]=programa;software;repositorio;paquete;instalar;eliminar;actualizar;apps;aplicaciones; +Keywords[et]=programm,rakendus,tarkvara,hoidla,pakk,pakett,paigaldamine,installimine,eemaldamine,uuendamine,rakendused,äpid; +Keywords[eu]=programa;software;gordetegi;pakete;instalatu;kendu;eguneratu;appak;aplikazioak; +Keywords[fi]=program;software;repository;package;install;remove;update;apps;applications;ohjelma;ohjelmisto;ohjelmalähde;lähteet;arkisto;paketti;asenna;poista;päivitä;sovellukset; +Keywords[fr]=programme; logiciel;dépôt;archive;paquet;installation;suppression;mise à jour;deb; +Keywords[gl]=aplicativo;software;repositorio;paquete;instalar;desinstalar;actualizar;deb; +Keywords[he]=program;software;repository;package;install;remove;update;apps;applications;תוכנות;התקנה;הסרה;חבילה;מקורות;יישומים; +Keywords[hu]=program;szoftver;tároló;csomag;telepítés;eltávolítás;frissítés;alkalmazás;alkalmazások; +Keywords[id]=program;perangkat lunak;repositori;paket;pasang;copot;perbarui;apl;aplikasi; +Keywords[it]=programma;software;deposito;pacchetto;installa;rimuovi;aggiorna;app;applicazioni; +Keywords[ko]=program;software;repository;archive;package;install;remove;update;deb;프로그램;소프트웨어;저장소;리포지토리;패키지;꾸러미;설치;삭제;업데이트; +Keywords[nb]=program;programvare;pakkebrønn;pakke;installere;fjerne;oppdatere;app;apper; +Keywords[nl]=programma;software;opslagruimte;pakket;installeren;verwijderen;bijwerken;apps;toepassingen;applicaties; +Keywords[nn]=program;programvare;pakkebrønn;pakke;pakkar;installera;installering;fjerna;fjerning;oppdatera;oppdatering;app;appar;applikasjonar; +Keywords[pl]=program,oprogramowanie,repozytorium,archiwum,pakiet,paczka,instaluj,zainstaluj,usuń,odinstaluj,uaktualnij,aktualizuj,programy,aplikacje,deb +Keywords[pt]=programa;software;repositório;pacote;instalar;remover;actualizar;aplicações; +Keywords[pt_BR]=programa;software;repositório;pacote;instalar;instalação;remover;atualizar;aplicativos;apps;aplicações; +Keywords[ru]=program;software;repository;package;install;remove;update;apps;applications;программа;приложение;репозиторий;пакет;установка;удаление;deb; +Keywords[sk]=program;softvér;repozitár;archív;balík;inÅ¡talácia;odstránenie;appky;aplikácie;aktualizácia; +Keywords[sl]=program;programska oprema;skladišče;paket;namesti;odstrani;posodobi;programi; +Keywords[sr]=program;software;repository;package;install;remove;update;apps;applications;програм;софтвер;ризница;пакет;инсталирати;уклонити;ажурирати; +Keywords[sr@ijekavian]=program;software;repository;package;install;remove;update;apps;applications;програм;софтвер;ризница;пакет;инсталирати;уклонити;ажурирати; +Keywords[sr@ijekavianlatin]=program;software;repository;package;install;remove;update;apps;applications;program;softver;riznica;paket;instalirati;ukloniti;ažurirati; +Keywords[sr@latin]=program;software;repository;package;install;remove;update;apps;applications;program;softver;riznica;paket;instalirati;ukloniti;ažurirati; +Keywords[sv]=program;programvara;arkiv;paket;installera;ta bort;uppdatera;appar;program; +Keywords[tr]=program;yazılım;depo;paket;yükle;kur;kaldır;güncelle;uygulama;uygulamalar; +Keywords[uk]=program;software;repository;package;install;remove;update;app;apps;applications;програма;програмне забезпечення;сховище;архів;пакунок;встановити;встановлення;вилучити;вилучення;оновлення;оновити; +Keywords[x-test]=xxprogramxx;xxsoftwarexx;xxrepositoryxx;xxpackagexx;xxinstallxx;xxremovexx;xxupdatexx;xxappsxx;xxapplicationsxx; +Keywords[zh_CN]=program;software;repository;package;install;remove;update;apps;applications;程序;软件;软件源;包;安装;移除;更新;应用程序;应用; +Keywords[zh_TW]=program;software;repository;package;install;remove;update;apps;applications; + +[Desktop Action Updates] +Name=Updates +Name[ar]=التّحديثات +Name[ca]=Actualitzacions +Name[ca@valencia]=Actualitzacions +Name[cs]=Aktualizace +Name[da]=Opdateringer +Name[de]=Aktualisierungen +Name[el]=Ενημερώσεις +Name[en_GB]=Updates +Name[es]=Actualizaciones +Name[et]=Uuendused +Name[eu]=Eguneraketak +Name[fi]=Päivitykset +Name[fr]=Mises à jour +Name[gl]=Actualizacións +Name[he]=עדכונים +Name[hu]=Frissítések +Name[ia]=Actualisationes +Name[id]=Update +Name[it]=Aggiornamenti +Name[ko]=업데이트 +Name[nb]=Oppdateringer +Name[nl]=Elementen voor bijwerken +Name[nn]=Oppdateringar +Name[pa]=ਅੱਪਡੇਟ +Name[pl]=Uaktualnienia +Name[pt]=Actualizações +Name[pt_BR]=Atualizações +Name[ru]=Обновления +Name[sk]=Aktualizácie +Name[sl]=Posodobitve +Name[sr]=Допуне +Name[sr@ijekavian]=Допуне +Name[sr@ijekavianlatin]=Dopune +Name[sr@latin]=Dopune +Name[sv]=Uppdateringar +Name[tr]=Güncellemeler +Name[uk]=Оновлення +Name[x-test]=xxUpdatesxx +Name[zh_CN]=更新 +Name[zh_TW]=更新 +Icon=system-software-update +Exec=plasma-discover --mode update diff --git a/discover/plasmadiscoverui.rc b/discover/plasmadiscoverui.rc new file mode 100644 index 0000000..cfd3837 --- /dev/null +++ b/discover/plasmadiscoverui.rc @@ -0,0 +1,10 @@ + + + + + diff --git a/discover/qml/ActionBridge.qml b/discover/qml/ActionBridge.qml new file mode 100644 index 0000000..9f8fe43 --- /dev/null +++ b/discover/qml/ActionBridge.qml @@ -0,0 +1,38 @@ +/*************************************************************************** + * Copyright © 2015 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQml 2.0 +import QtQuick.Controls 2.3 + +Action +{ + property QtObject action: null + + function removeAmpersand(text) { + return text.replace("&", ""); + } + text: action ? removeAmpersand(action.text) : "" + checked: action && action.checked + enabled: action && action.enabled + icon.name: action ? app.iconName(action.icon) : "" + shortcut: action ? action.shortcut : undefined + + onTriggered: action.trigger() +} diff --git a/discover/qml/ActionListItem.qml b/discover/qml/ActionListItem.qml new file mode 100644 index 0000000..e2c44d6 --- /dev/null +++ b/discover/qml/ActionListItem.qml @@ -0,0 +1,47 @@ +/*************************************************************************** + * Copyright © 2015 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.5 +import QtQuick.Controls 2.0 +import org.kde.kirigami 2.3 as Kirigami + +Kirigami.BasicListItem +{ + id: item + property QtObject action: null + checked: action.checked + icon: action.iconName + separatorVisible: false + visible: action.enabled + onClicked: { + drawer.resetMenu() + action.trigger() + } + + Kirigami.MnemonicData.enabled: item.enabled && item.visible + Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.MenuItem + Kirigami.MnemonicData.label: action.text + label: Kirigami.MnemonicData.richTextLabel + + readonly property var p0: Shortcut { + sequence: item.Kirigami.MnemonicData.sequence + onActivated: item.clicked() + } +} diff --git a/discover/qml/AddSourceDialog.qml b/discover/qml/AddSourceDialog.qml new file mode 100644 index 0000000..0dfd9c0 --- /dev/null +++ b/discover/qml/AddSourceDialog.qml @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2014 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.kirigami 2.2 as Kirigami + +Popup +{ + id: newSourceDialog + parent: applicationWindow().overlay + modal: true + focus: true + width: Kirigami.Units.gridUnit * 20 + + x: (parent.width - width)/2 + y: (parent.height - height)/2 + + property string displayName + property QtObject source + + ColumnLayout { + id: info + anchors { + left: parent.left + right: parent.right + } + + Kirigami.Heading { + level: 3 + Layout.fillWidth: true + text: i18n("Add a new %1 repository", displayName) + } + Label { + id: description + Layout.fillWidth: true + Layout.fillHeight: true + wrapMode: Text.WordWrap + textFormat: Text.PlainText + text: source.idDescription + } + + TextField { + id: repository + Layout.fillWidth: true + onAccepted: okButton.clicked() + focus: true + onTextChanged: color = Kirigami.Theme.textColor + } + + DialogButtonBox { + Layout.fillWidth: true + + Button { + id: okButton + DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole + text: i18n("Add") + icon.name: "list-add" + onClicked: if (source.addSource(repository.text)) { + newSourceDialog.close() + } else { + repository.color = Kirigami.Theme.negativeTextColor + } + } + + Button { + id: cancelButton + DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole + text: i18n("Cancel") + icon.name: "dialog-cancel" + onClicked: newSourceDialog.close() + } + } + } +} diff --git a/discover/qml/AddonsView.qml b/discover/qml/AddonsView.qml new file mode 100644 index 0000000..9951872 --- /dev/null +++ b/discover/qml/AddonsView.qml @@ -0,0 +1,97 @@ +import QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import "navigation.js" as Navigation +import org.kde.kirigami 2.0 as Kirigami + +Kirigami.OverlaySheet +{ + id: addonsView + property alias application: addonsModel.application + property bool isInstalling: false + readonly property bool containsAddons: rep.count>0 || isExtended + readonly property bool isExtended: ResourcesModel.isExtended(application.appstreamId) + + ColumnLayout + { + visible: addonsView.containsAddons + enabled: !addonsView.isInstalling + spacing: Kirigami.Units.largeSpacing + + Kirigami.Heading { + level: 3 + text: i18n("Addons") + } + + Repeater + { + id: rep + model: ApplicationAddonsModel { id: addonsModel } + + delegate: RowLayout { + Layout.fillWidth: true + + CheckBox { + enabled: !addonsView.isInstalling + checked: model.checked + onClicked: addonsModel.changeState(packageName, checked) + } + Kirigami.Icon { + source: "applications-other" + smooth: true + Layout.minimumWidth: content.implicitHeight + Layout.minimumHeight: content.implicitHeight + opacity: addonsView.isInstalling ? 0.3 : 1 + } + + ColumnLayout { + id: content + Layout.fillWidth: true + spacing: 0 + Label { + Layout.fillWidth: true + elide: Text.ElideRight + text: display + } + Label { + Layout.fillWidth: true + elide: Text.ElideRight + font.italic: true + text: toolTip + } + } + } + } + + RowLayout { + readonly property bool active: addonsModel.hasChanges && !addonsView.isInstalling + spacing: Kirigami.Units.largeSpacing + + Button { + icon.name: "dialog-ok" + text: i18n("Apply Changes") + onClicked: addonsModel.applyChanges() + + visible: parent.active + } + Button { + icon.name: "document-revert" + text: i18n("Discard") + onClicked: addonsModel.discardChanges() + + visible: parent.active + } + Item { + Layout.fillWidth: true + height: Kirigami.Units.largeSpacing + } + Button { + Layout.alignment: Qt.AlignRight + text: i18n("More...") + visible: application.appstreamId.length>0 && addonsView.isExtended + onClicked: Navigation.openExtends(application.appstreamId) + } + } + } +} diff --git a/discover/qml/ApplicationDelegate.qml b/discover/qml/ApplicationDelegate.qml new file mode 100644 index 0000000..ad31616 --- /dev/null +++ b/discover/qml/ApplicationDelegate.qml @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import QtQuick.Window 2.1 +import "navigation.js" as Navigation +import org.kde.kirigami 2.4 as Kirigami + +Kirigami.AbstractCard +{ + id: delegateArea + property alias application: installButton.application + property bool compact: false + property bool showRating: true + showClickFeedback: true + property var view: null + + function trigger() { + if (view) + view.currentIndex = index + Navigation.openApplication(application) + } + highlighted: ListView.isCurrentItem + Keys.onReturnPressed: trigger() + onClicked: trigger() + + contentItem: Item { + implicitHeight: delegateArea.compact ? Kirigami.Units.gridUnit * 2 : Kirigami.Units.gridUnit * 4 + + Kirigami.Icon { + id: resourceIcon + source: application.icon + readonly property real contHeight: delegateArea.compact ? Kirigami.Units.gridUnit * 3 : Kirigami.Units.gridUnit * 5 + height: contHeight + width: contHeight + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + } + } + + GridLayout { + columnSpacing: delegateArea.compact ? 0 : 5 + rowSpacing: delegateArea.compact ? 0 : 5 + anchors { + verticalCenter: parent.verticalCenter + right: parent.right + left: resourceIcon.right + leftMargin: Kirigami.Units.largeSpacing + } + columns: 2 + rows: delegateArea.compact ? 4 : 3 + + Kirigami.Heading { + id: head + level: delegateArea.compact ? 3 : 2 + Layout.fillWidth: true + elide: Text.ElideRight + text: delegateArea.application.name + maximumLineCount: 1 + } + + InstallApplicationButton { + id: installButton + Layout.alignment: Qt.AlignVCenter | Qt.AlignRight + Layout.rowSpan: delegateArea.compact ? 3 : 1 + } + + RowLayout { + visible: showRating + spacing: Kirigami.Units.largeSpacing + Layout.fillWidth: true + Rating { + rating: delegateArea.application.rating ? delegateArea.application.rating.sortableRating : 0 + starSize: delegateArea.compact ? summary.font.pointSize : head.font.pointSize + } + Label { + Layout.fillWidth: true + text: delegateArea.application.rating ? i18np("%1 rating", "%1 ratings", delegateArea.application.rating.ratingCount) : i18n("No ratings yet") + visible: delegateArea.application.rating || delegateArea.application.backend.reviewsBackend.isResourceSupported(delegateArea.application) + opacity: 0.5 + elide: Text.ElideRight + } + } + + Label { + Layout.columnSpan: delegateArea.compact ? 1 : 2 + id: summary + Layout.fillWidth: true + + bottomPadding: Kirigami.Units.smallSpacing + elide: Text.ElideRight + text: delegateArea.application.comment + maximumLineCount: 1 + textFormat: Text.PlainText + } + } + } +} diff --git a/discover/qml/ApplicationPage.qml b/discover/qml/ApplicationPage.qml new file mode 100644 index 0000000..71e1df7 --- /dev/null +++ b/discover/qml/ApplicationPage.qml @@ -0,0 +1,431 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.5 +import QtQuick.Controls 2.3 +import QtQuick.Window 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.1 as Kirigami +import "navigation.js" as Navigation + +DiscoverPage { + id: appInfo + property QtObject application: null + readonly property int visibleReviews: 3 + clip: true + + background: Rectangle { color: Kirigami.Theme.viewBackgroundColor } + + ReviewsPage { + id: reviewsSheet + model: ReviewsModel { + id: reviewsModel + resource: appInfo.application + } + } + + contextualActions: [originsMenuAction] + + ActionGroup { + id: sourcesGroup + exclusive: true + } + + Kirigami.Action { + id: originsMenuAction + + text: i18n("Sources") + visible: children.length>1 + readonly property var r0: Instantiator { + model: ResourcesProxyModel { + id: alternativeResourcesModel + allBackends: true + resourcesUrl: appInfo.application.url + } + delegate: Action { + ActionGroup.group: sourcesGroup + text: displayOrigin + icon.name: sourceIcon + checked: appInfo.application == model.application + onTriggered: if(index>=0) { + var res = model.application + console.assert(res) + window.stack.pop() + Navigation.openApplication(res) + } + } + onObjectAdded: originsMenuAction.children.push(object) + } + } + + actions { + main: appbutton.action + right: Kirigami.Action { + visible: application.isInstalled && application.canExecute && !appbutton.isActive + text: application.executeLabel + icon.name: "media-playback-start" + onTriggered: application.invokeApplication() + } + } + + InstallApplicationButton { + id: appbutton + Layout.rightMargin: Kirigami.Units.smallSpacing + application: appInfo.application + visible: false + } + + leftPadding: Kirigami.Units.largeSpacing * (applicationWindow().wideScreen ? 2 : 1) + rightPadding: Kirigami.Units.largeSpacing * (applicationWindow().wideScreen ? 2 : 1) + // Icon, name, caption, screenshots, description and reviews + ColumnLayout { + spacing: 0 + RowLayout { + Kirigami.Icon { + Layout.preferredHeight: 80 + Layout.preferredWidth: 80 + source: appInfo.application.icon + Layout.rightMargin: Kirigami.Units.smallSpacing * 2 + } + ColumnLayout { + spacing: 0 + Kirigami.Heading { + level: 1 + text: appInfo.application.name + lineHeight: 1.0 + maximumLineCount: 1 + elide: Text.ElideRight + Layout.fillWidth: true + Layout.alignment: Text.AlignBottom + } + RowLayout { + spacing: Kirigami.Units.largeSpacing + Rating { + rating: appInfo.application.rating ? appInfo.application.rating.sortableRating : 0 + starSize: summary.font.pointSize + } + Label { + text: appInfo.application.rating ? i18np("%1 rating", "%1 ratings", appInfo.application.rating.ratingCount) : i18n("No ratings yet") + opacity: 0.5 + } + } + Kirigami.Heading { + id: summary + level: 4 + text: appInfo.application.comment + maximumLineCount: 2 + lineHeight: lineCount > 1 ? 0.75 : 1.2 + elide: Text.ElideRight + Layout.fillWidth: true + Layout.alignment: Qt.AlignTop + } + } + Layout.bottomMargin: Kirigami.Units.largeSpacing + } + + ApplicationScreenshots { + Layout.fillWidth: true + visible: count > 0 + resource: appInfo.application + ScrollBar.horizontal: screenshotsScrollbar + } + ScrollBar { + id: screenshotsScrollbar + Layout.fillWidth: true + } + + Label { + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.fillWidth: true + wrapMode: Text.WordWrap + text: appInfo.application.longDescription + } + + Kirigami.Heading { + Layout.topMargin: Kirigami.Units.largeSpacing + text: i18n("What's New") + level: 2 + visible: changelogLabel.text.length > 0 + } + + Rectangle { + color: Kirigami.Theme.linkColor + Layout.fillWidth: true + height: 1 + visible: changelogLabel.text.length > 0 + } + + Label { + id: changelogLabel + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.fillWidth: true + wrapMode: Text.WordWrap + + Component.onCompleted: appInfo.application.fetchChangelog() + Connections { + target: appInfo.application + onChangelogFetched: { + changelogLabel.text = changelog + } + } + } + + LinkButton { + id: addonsButton + text: i18n("Addons") + visible: addonsView.containsAddons + onClicked: addonsView.sheetOpen = true + } + + + RowLayout { + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.fillWidth: true + + Kirigami.Heading { + Layout.fillWidth: true + text: i18n("Reviews") + Layout.alignment: Qt.AlignLeft | Qt.AlignBottom + level: 2 + visible: rep.count > 0 + } + + LinkButton { + visible: reviewsModel.count > visibleReviews + text: i18np("Show %1 review...", "Show all %1 reviews...", reviewsModel.count) + Layout.alignment: Qt.AlignRight | Qt.AlignBottom + + onClicked: { + reviewsSheet.open() + } + } + } + + Rectangle { + color: Kirigami.Theme.linkColor + Layout.fillWidth: true + height: 1 + visible: rep.count > 0 + } + + Repeater { + id: rep + model: PaginateModel { + sourceModel: reviewsSheet.model + pageSize: visibleReviews + } + delegate: ReviewDelegate { + Layout.topMargin: Kirigami.Units.largeSpacing + separator: false + compact: true + Layout.bottomMargin: Kirigami.Units.largeSpacing + } + } + LinkButton { + function writeReviewText() { + if (appInfo.application.isInstalled) { + if (reviewsModel.count > 0) { + return i18n("Write a review!") + } else { + return i18n("Be the first to write a review!") + } + // App not installed + } else { + if (reviewsModel.count > 0) { + return i18n("Install this app to write a review!") + } else { + return i18n("Install this app and be the first to write a review!") + } + } + } + text: writeReviewText() + Layout.alignment: Qt.AlignCenter + onClicked: reviewsSheet.openReviewDialog() + enabled: appInfo.application.isInstalled + visible: reviewsModel.backend && reviewsModel.backend.isResourceSupported(appInfo.application) + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.largeSpacing + } + + Repeater { + model: application.objects + delegate: Loader { + property QtObject resource: appInfo.application + source: modelData + } + } + + Item { + height: addonsButton.height + width: 1 + } + + // Details/metadata + Rectangle { + color: Kirigami.Theme.linkColor + Layout.fillWidth: true + height: 1 + Layout.bottomMargin: Kirigami.Units.largeSpacing + } + GridLayout { + rowSpacing: 0 + columns: 2 + + // Category row + Label { + visible: categoryLabel.visible + Layout.alignment: Qt.AlignRight + text: i18n("Category:") + } + Label { + id: categoryLabel + visible: text.length > 0 + Layout.fillWidth: true + elide: Text.ElideRight + text: appInfo.application.categoryDisplay + } + + // Version row + Label { + visible: versionLabel.visible + Layout.alignment: Qt.AlignRight + text: i18n("Version:") + } + Label { + readonly property string version: appInfo.application.isInstalled ? appInfo.application.installedVersion : appInfo.application.availableVersion + readonly property string releaseDate: appInfo.application.releaseDate.toLocaleString() + + function versionString() { + if (version.length == 0) { + return "" + } else { + if (releaseDate.length > 0) { + return i18n("%1, released on %2", version, releaseDate) + } else { + return version + } + } + } + + id: versionLabel + visible: text.length > 0 + Layout.fillWidth: true + elide: Text.ElideRight + text: versionString() + } + + // Size row + Label { + Layout.alignment: Qt.AlignRight + text: i18n("Size:") + } + Label { + Layout.fillWidth: true + elide: Text.ElideRight + text: appInfo.application.sizeDescription + } + + // Source row + Label { + Layout.alignment: Qt.AlignRight + text: i18n("Source:") + } + Label { + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + text: appInfo.application.displayOrigin + elide: Text.ElideRight + } + + // License row + Label { + Layout.alignment: Qt.AlignRight + text: i18n("License:") + visible: appInfo.application.license.length>0 + } + UrlButton { + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft +// tooltip: i18n("See full license terms") + text: appInfo.application.license + url: "https://spdx.org/licenses/" + appInfo.application.license + ".html#licenseText" + } + + // Homepage row + Label { + visible: homepageLink.visible + Layout.alignment: Qt.AlignRight + text: i18n("Homepage:") + } + UrlButton { + id: homepageLink + url: application.homepage + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + + // "User Guide" row + Label { + visible: docsLink.visible + Layout.alignment: Qt.AlignRight + text: i18n("User Guide:") + } + UrlButton { + id: docsLink + url: application.helpURL + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + + // Donate row + Label { + visible: donationLink.visible + Layout.alignment: Qt.AlignRight + text: i18n("Donate:") + } + UrlButton { + id: donationLink + url: application.donationURL + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + + // "Report a Problem" row + Label { + visible: bugLink.visible + Layout.alignment: Qt.AlignRight + text: i18n("Report a Problem:") + } + UrlButton { + id: bugLink + url: application.bugURL + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + } + } + + readonly property var addons: AddonsView { + id: addonsView + application: appInfo.application + parent: overlay + } +} diff --git a/discover/qml/ApplicationScreenshots.qml b/discover/qml/ApplicationScreenshots.qml new file mode 100644 index 0000000..7859184 --- /dev/null +++ b/discover/qml/ApplicationScreenshots.qml @@ -0,0 +1,181 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.1 +import QtGraphicalEffects 1.0 +import org.kde.discover 2.0 +import org.kde.kirigami 2.0 as Kirigami + +Flickable { + id: root + readonly property alias count: screenshotsModel.count + property alias resource: screenshotsModel.application + property var resource + property int currentIndex: -1 + property Item currentItem: screenshotsRep.itemAt(currentIndex) + Layout.preferredHeight: Kirigami.Units.gridUnit * 13 + contentHeight: height + contentWidth: screenshotsLayout.width + + Popup { + id: overlay + parent: applicationWindow().overlay + modal: true + clip: false + + x: (parent.width - width)/2 + y: (parent.height - height)/2 + readonly property real proportion: overlayImage.sourceSize.width>1 ? overlayImage.sourceSize.height/overlayImage.sourceSize.width : 1 + height: overlayImage.status == Image.Loading ? Kirigami.Units.gridUnit * 5 : Math.min(parent.height * 0.9, (parent.width * 0.9) * proportion, overlayImage.sourceSize.height) + width: height/proportion + + BusyIndicator { + id: indicator + visible: running + running: overlayImage.status == Image.Loading + anchors.fill: parent + } + + Image { + id: overlayImage + anchors.fill: parent + source: root.currentItem ? root.currentItem.imageSource : "" + fillMode: Image.PreserveAspectFit + smooth: true + } + + Button { + anchors { + right: parent.left + verticalCenter: parent.verticalCenter + } + visible: leftAction.visible + icon.name: leftAction.iconName + onClicked: leftAction.triggered(null) + } + + Button { + anchors { + left: parent.right + verticalCenter: parent.verticalCenter + } + visible: rightAction.visible + icon.name: rightAction.iconName + onClicked: rightAction.triggered(null) + } + + Kirigami.Action { + id: leftAction + icon.name: "arrow-left" + enabled: overlay.visible && visible + visible: root.currentIndex >= 1 && !indicator.running + onTriggered: root.currentIndex = (root.currentIndex - 1) % screenshotsModel.count + } + + Kirigami.Action { + id: rightAction + icon.name: "arrow-right" + enabled: overlay.visible && visible + visible: root.currentIndex < (root.count - 1) && !indicator.running + onTriggered: root.currentIndex = (root.currentIndex + 1) % screenshotsModel.count + } + } + + Row { + id: screenshotsLayout + height: root.contentHeight + spacing: Kirigami.Units.largeSpacing + focus: overlay.visible + + Keys.onLeftPressed: if (leftAction.visible) leftAction.trigger() + Keys.onRightPressed: if (rightAction.visible) rightAction.trigger() + + Repeater { + id: screenshotsRep + model: ScreenshotsModel { + id: screenshotsModel + } + + delegate: MouseArea { + readonly property url imageSource: large_image_url + readonly property real proportion: thumbnail.sourceSize.width>1 ? thumbnail.sourceSize.height/thumbnail.sourceSize.width : 1 + width: Math.max(50, height/proportion) + height: screenshotsLayout.height + + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + + onClicked: { + root.currentIndex = index + overlay.open() + } + + DropShadow { + source: thumbnail + anchors.fill: thumbnail + verticalOffset: Kirigami.Units.largeSpacing + horizontalOffset: 0 + radius: 12.0 + samples: 25 + color: Kirigami.Theme.disabledTextColor + cached: true + } + + BusyIndicator { + visible: running + running: thumbnail.status == Image.Loading + anchors.centerIn: parent + } + + Image { + id: thumbnail + source: small_image_url + height: parent.height + fillMode: Image.PreserveAspectFit + smooth: true + } + } + } + } + clip: true + readonly property var leftShadow: Shadow { + parent: root + anchors { + left: parent.left + top: parent.top + bottom: parent.bottom + } + edge: Qt.LeftEdge + width: Math.max(0, Math.min(root.width/5, root.contentX)) + } + + readonly property var rightShadow: Shadow { + parent: root + anchors { + right: parent.right + top: parent.top + bottom: parent.bottom + } + edge: Qt.RightEdge + width: Math.max(0, Math.min(root.contentWidth - root.contentX - root.width)/5) + } +} diff --git a/discover/qml/ApplicationsListPage.qml b/discover/qml/ApplicationsListPage.qml new file mode 100644 index 0000000..3082ff2 --- /dev/null +++ b/discover/qml/ApplicationsListPage.qml @@ -0,0 +1,210 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.5 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.1 +import QtQuick.Window 2.2 +import "navigation.js" as Navigation +import org.kde.discover.app 1.0 +import org.kde.discover 2.0 +import org.kde.kirigami 2.4 as Kirigami + +DiscoverPage { + id: page + readonly property var model: appsModel + property alias category: appsModel.filteredCategory + property alias sortRole: appsModel.sortRole + property alias sortOrder: appsModel.sortOrder + property alias originFilter: appsModel.originFilter + property alias mimeTypeFilter: appsModel.mimeTypeFilter + property alias stateFilter: appsModel.stateFilter + property alias extending: appsModel.extending + property alias search: appsModel.search + property alias resourcesUrl: appsModel.resourcesUrl + property alias isBusy: appsModel.isBusy + property alias allBackends: appsModel.allBackends + property alias count: apps.count + property alias listHeader: apps.header + property alias listHeaderPositioning: apps.headerPositioning + property bool compact: page.width < 550 || !applicationWindow().wideScreen + property bool showRating: true + + property bool canNavigate: true + readonly property alias subcategories: appsModel.subcategories + title: category ? category.name : "" + + signal clearSearch() + + supportsRefreshing: true + onRefreshingChanged: if (refreshing) { + appsModel.invalidateFilter() + refreshing = false + } + + ActionGroup { + id: sortGroup + exclusive: true + } + + contextualActions: [ + Kirigami.Action { + visible: !appsModel.sortByRelevancy + text: i18n("Sort: %1", sortGroup.checkedAction.text) + Action { + ActionGroup.group: sortGroup + text: i18n("Name") + onTriggered: { + appsModel.sortRole = ResourcesProxyModel.NameRole + appsModel.sortOrder = Qt.AscendingOrder + } + checkable: true + checked: appsModel.sortRole == ResourcesProxyModel.NameRole + } + Action { + ActionGroup.group: sortGroup + text: i18n("Rating") + onTriggered: { + appsModel.sortRole = ResourcesProxyModel.SortableRatingRole + appsModel.sortOrder = Qt.DescendingOrder + } + checkable: true + checked: appsModel.sortRole == ResourcesProxyModel.SortableRatingRole + } + Action { + ActionGroup.group: sortGroup + text: i18n("Size") + onTriggered: { + appsModel.sortRole = ResourcesProxyModel.SizeRole + appsModel.sortOrder = Qt.AscendingOrder + } + checkable: true + checked: appsModel.sortRole == ResourcesProxyModel.SizeRole + } + Action { + ActionGroup.group: sortGroup + text: i18n("Release Date") + onTriggered: { + appsModel.sortRole = ResourcesProxyModel.ReleaseDateRole + appsModel.sortOrder = Qt.DescendingOrder + } + checkable: true + checked: appsModel.sortRole == ResourcesProxyModel.ReleaseDateRole + } + } + ] + + Kirigami.CardsListView { + id: apps + + section.delegate: Label { + text: section + anchors { + right: parent.right + } + } + + model: ResourcesProxyModel { + id: appsModel + sortRole: ResourcesProxyModel.SortableRatingRole + sortOrder: Qt.DescendingOrder + onBusyChanged: if (isBusy) { + apps.currentIndex = -1 + } + } + currentIndex: -1 + delegate: ApplicationDelegate { + application: model.application + compact: page.compact + showRating: page.showRating + view: apps + } + + Label { + anchors.centerIn: parent + opacity: apps.count == 0 && !appsModel.isBusy ? 0.3 : 0 + Behavior on opacity { PropertyAnimation { duration: Kirigami.Units.longDuration; easing.type: Easing.InOutQuad; } } + text: i18n("Sorry, nothing found...") + } + + BusyIndicator { + id: busyIndicator + anchors { + top: parent.bottom + horizontalCenter: parent.horizontalCenter + margins: Kirigami.Units.largeSpacing + } + running: false + opacity: 0 + states: [ + State { + name: "running"; + when: appsModel.isBusy + PropertyChanges { target: busyIndicator; opacity: 1; running: true; } + AnchorChanges { target: busyIndicator; anchors.bottom: parent.bottom; anchors.top: undefined; } + } + ] + transitions: [ + Transition { + from: "" + to: "running" + SequentialAnimation { + PauseAnimation { duration: Kirigami.Units.longDuration * 5; } + ParallelAnimation { + AnchorAnimation { duration: Kirigami.Units.longDuration; easing.type: Easing.InOutQuad; } + PropertyAnimation { property: "opacity"; duration: Kirigami.Units.longDuration; easing.type: Easing.InOutQuad; } + } + } + }, + Transition { + from: "running" + to: "" + ParallelAnimation { + AnchorAnimation { duration: Kirigami.Units.shortDuration; easing.type: Easing.InOutQuad; } + PropertyAnimation { property: "opacity"; duration: Kirigami.Units.shortDuration; easing.type: Easing.InOutQuad; } + } + } + ] + Label { + id: busyLabel + anchors { + horizontalCenter: parent.horizontalCenter + bottom: parent.top + } + text: i18n("Still looking...") + opacity: 0 + states: [ + State { + name: "running"; + when: busyIndicator.opacity === 1; + PropertyChanges { target: busyLabel; opacity: 1; } + } + ] + transitions: Transition { + from: "" + to: "running" + SequentialAnimation { + PauseAnimation { duration: Kirigami.Units.longDuration * 5; } + PropertyAnimation { property: "opacity"; duration: Kirigami.Units.longDuration * 10; easing.type: Easing.InOutCubic; } + } + } + } + } + } +} diff --git a/discover/qml/BrowsingPage.qml b/discover/qml/BrowsingPage.qml new file mode 100644 index 0000000..7fff4ea --- /dev/null +++ b/discover/qml/BrowsingPage.qml @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2015 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.4 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import "navigation.js" as Navigation +import org.kde.kirigami 2.4 as Kirigami + +DiscoverPage +{ + id: page + title: i18n("Featured") + leftPadding: 0 + rightPadding: 0 + topPadding: 0 + bottomPadding: 0 + + readonly property bool isHome: true + + function searchFor(text) { + if (text.length === 0) + return; + Navigation.openCategory(null, "") + } + + signal clearSearch() + + readonly property bool compact: page.width < 550 || !applicationWindow().wideScreen + + Kirigami.CardsListView { + id: apps + model: FeaturedModel {} + currentIndex: -1 + delegate: ApplicationDelegate { + application: model.application + compact: page.compact + view: apps + } + } +} diff --git a/discover/qml/ConditionalLoader.qml b/discover/qml/ConditionalLoader.qml new file mode 100644 index 0000000..44f81fc --- /dev/null +++ b/discover/qml/ConditionalLoader.qml @@ -0,0 +1,35 @@ +/*************************************************************************** + * Copyright © 2015 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Layouts 1.1 + +Loader +{ + id: root + + property Component componentTrue + property Component componentFalse + property bool condition + + Layout.minimumHeight: item && item.Layout ? item.Layout.minimumHeight : 0 + Layout.minimumWidth: item && item.Layout ? item.Layout.minimumWidth : 0 + sourceComponent: condition ? componentTrue : componentFalse +} diff --git a/discover/qml/ConditionalObject.qml b/discover/qml/ConditionalObject.qml new file mode 100644 index 0000000..744898e --- /dev/null +++ b/discover/qml/ConditionalObject.qml @@ -0,0 +1,40 @@ +/*************************************************************************** + * Copyright © 2018 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.1 + +QtObject +{ + id: root + + property Component componentTrue + property Component componentFalse + property bool condition + + onConditionChanged: { + if (object) + object.destroy(100) + + var component = (condition ? componentTrue : componentFalse) + object = component ? component.createObject(root) : null + } + + property QtObject object +} diff --git a/discover/qml/DiscoverDrawer.qml b/discover/qml/DiscoverDrawer.qml new file mode 100644 index 0000000..8065293 --- /dev/null +++ b/discover/qml/DiscoverDrawer.qml @@ -0,0 +1,184 @@ +/*************************************************************************** + * Copyright © 2015 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.5 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.0 as Kirigami +import "navigation.js" as Navigation + +Kirigami.GlobalDrawer { + id: drawer + + // FIXME: Dirty workaround for 385992 + width: Kirigami.Units.gridUnit * 14 + + property bool wideScreen: false + bannerImageSource: "qrc:/banners/banner.svg" + //make the left and bottom margins for search field the same + topPadding: drawer.wideScreen ? -toploader.height - leftPadding : 0 + bottomPadding: 0 + + resetMenuOnTriggered: false + + onBannerClicked: { + Navigation.openHome(); + if (modal) + drawerOpen = false + } + + property string currentSearchText + + onCurrentSubMenuChanged: { + if (currentSubMenu) + currentSubMenu.trigger() + else if (currentSearchText.length > 0) + window.leftPage.category = null + else + Navigation.openHome() + } + + function suggestSearchText(text) { + toploader.item.text = text + toploader.item.forceActiveFocus() + } + topContent: ConditionalLoader { + id: toploader + condition: drawer.wideScreen + Layout.fillWidth: true + componentFalse: Item { + Layout.minimumHeight: 1 + } + componentTrue: SearchField { + id: searchField + + visible: window.leftPage && (window.leftPage.searchFor != null || window.leftPage.hasOwnProperty("search")) + + page: window.leftPage + + onCurrentSearchTextChanged: { + var curr = window.leftPage; + + if (pageStack.depth>1) + pageStack.pop() + + if (currentSearchText === "" && window.currentTopLevel === "" && !window.leftPage.category) { + Navigation.openHome() + } else if (!curr.hasOwnProperty("search")) { + if (currentSearchText) { + Navigation.clearStack() + Navigation.openApplicationList( { search: currentSearchText }) + } + } else { + curr.search = currentSearchText; + curr.forceActiveFocus() + } + } + } + } + + ColumnLayout { + spacing: 0 + Layout.fillWidth: true + Layout.leftMargin: -drawer.leftPadding + Layout.rightMargin: -drawer.rightPadding + + Kirigami.Separator { + Layout.fillWidth: true + } + + ProgressView { + separatorVisible: false + } + + ActionListItem { + action: searchAction + } + ActionListItem { + action: installedAction + } + ActionListItem { + action: settingsAction + } + ActionListItem { + objectName: "updateButton" + action: updateAction + + backgroundColor: ResourcesModel.updatesCount>0 ? "orange" : Kirigami.Theme.viewBackgroundColor + } + + states: [ + State { + name: "full" + when: drawer.wideScreen + PropertyChanges { target: drawer; drawerOpen: true } + }, + State { + name: "compact" + when: !drawer.wideScreen + PropertyChanges { target: drawer; drawerOpen: false } + } + ] + } + + Component { + id: categoryActionComponent + Kirigami.Action { + property QtObject category + readonly property bool itsMe: window.leftPage && window.leftPage.hasOwnProperty("category") && (window.leftPage.category == category) + text: category ? category.name : "" + checked: itsMe + visible: (!window.leftPage + || !window.leftPage.subcategories + || window.leftPage.subcategories === undefined + || currentSearchText.length === 0 + || (category && category.contains(window.leftPage.subcategories)) + ) + onTriggered: { + if (!window.leftPage.canNavigate) + Navigation.openCategory(category, currentSearchText) + else { + if (pageStack.depth>1) + pageStack.pop() + pageStack.currentIndex = 0 + window.leftPage.category = category + } + } + } + } + + function createCategoryActions(categories) { + var actions = [] + for(var i in categories) { + var cat = categories[i]; + var catAction = categoryActionComponent.createObject(drawer, {category: cat}); + catAction.children = createCategoryActions(cat.subcategories); + actions.push(catAction) + } + return actions; + } + + actions: createCategoryActions(CategoryModel.rootCategories) + + modal: !drawer.wideScreen + handleVisible: !drawer.wideScreen +} diff --git a/discover/qml/DiscoverPage.qml b/discover/qml/DiscoverPage.qml new file mode 100644 index 0000000..5f169ab --- /dev/null +++ b/discover/qml/DiscoverPage.qml @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2015 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.5 +import org.kde.kirigami 2.0 as Kirigami + +Kirigami.ScrollablePage +{ + id: root + + readonly property var s1: Shortcut { + sequence: StandardKey.MoveToNextPage + enabled: root.isCurrentPage + onActivated: { + root.flickable.contentY = Math.min(root.flickable.contentHeight - root.flickable.height, + root.flickable.contentY + root.flickable.height); + } + } + + readonly property var s2: Shortcut { + sequence: StandardKey.MoveToPreviousPage + enabled: root.isCurrentPage + onActivated: { + root.flickable.contentY = Math.max(0, root.flickable.contentY - root.flickable.height); + } + } + + readonly property var sClose: Shortcut { + sequence: StandardKey.Cancel + enabled: root.isCurrentPage && applicationWindow().pageStack.depth>1 + onActivated: { + applicationWindow().pageStack.pop() + } + } + + readonly property var sRefresh: Shortcut { + sequence: StandardKey.Refresh + enabled: root.isCurrentPage && root.supportsRefreshing + onActivated: { + if (root.supportsRefreshing) + root.refreshing = true + } + } + + readonly property var readableCharacters: /\w+/ + Keys.onPressed: { + if(event.text.length > 0 && event.modifiers === Qt.NoModifier && event.text.match(readableCharacters)) { + window.globalDrawer.suggestSearchText(event.text) + } + } +} diff --git a/discover/qml/DiscoverPopup.qml b/discover/qml/DiscoverPopup.qml new file mode 100644 index 0000000..d606271 --- /dev/null +++ b/discover/qml/DiscoverPopup.qml @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.8 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.1 as Kirigami + +Popup { + id: overlay + parent: applicationWindow().overlay + bottomPadding: Kirigami.Units.largeSpacing + topPadding: Kirigami.Units.largeSpacing + + x: (parent.width - width)/2 + y: (parent.height - height)/2 + width: Math.min(parent.width - Kirigami.Units.gridUnit * 3, Kirigami.Units.gridUnit * 50) + height: Math.min(view.contentHeight + bottomPadding + topPadding, parent.height * 4/5) +} diff --git a/discover/qml/DiscoverWindow.qml b/discover/qml/DiscoverWindow.qml new file mode 100644 index 0000000..561333f --- /dev/null +++ b/discover/qml/DiscoverWindow.qml @@ -0,0 +1,238 @@ +import QtQuick 2.5 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.5 as Kirigami +import "navigation.js" as Navigation + +Kirigami.ApplicationWindow +{ + id: window + readonly property string applicationListComp: ("qrc:/qml/ApplicationsListPage.qml") + readonly property string applicationComp: ("qrc:/qml/ApplicationPage.qml") + readonly property string reviewsComp: ("qrc:/qml/ReviewsPage.qml") + + //toplevels + readonly property string topBrowsingComp: ("qrc:/qml/BrowsingPage.qml") + readonly property string topInstalledComp: ("qrc:/qml/InstalledPage.qml") + readonly property string topSearchComp: ("qrc:/qml/SearchPage.qml") + readonly property string topUpdateComp: ("qrc:/qml/UpdatesPage.qml") + readonly property string topSourcesComp: ("qrc:/qml/SourcesPage.qml") + readonly property string loadingComponent: ("qrc:/qml/LoadingPage.qml") + readonly property QtObject stack: window.pageStack + property string currentTopLevel: defaultStartup ? topBrowsingComp : loadingComponent + property bool defaultStartup: true + + objectName: "DiscoverMainWindow" + title: leftPage ? leftPage.title : "" + + + visible: true + + minimumWidth: 300 + minimumHeight: 300 + + pageStack.defaultColumnWidth: Kirigami.Units.gridUnit * 25 + pageStack.globalToolBar.style: window.wideScreen ? Kirigami.ApplicationHeaderStyle.ToolBar : Kirigami.ApplicationHeaderStyle.Breadcrumb + + readonly property var leftPage: window.stack.depth>0 ? window.stack.get(0) : null + + Component.onCompleted: { + if (app.isRoot) + showPassiveNotification(i18n("Running as root is discouraged and unnecessary.")); + } + + TopLevelPageData { + iconName: "tools-wizard" + text: i18n("Discover") + component: topBrowsingComp + objectName: "discover" + } + + TopLevelPageData { + id: searchAction + enabled: !window.wideScreen + iconName: "search" + text: i18n("Search") + component: topSearchComp + objectName: "discover" + shortcut: "Ctrl+F" + } + TopLevelPageData { + id: installedAction + text: i18n("Installed") + component: topInstalledComp + objectName: "installed" + } + TopLevelPageData { + id: updateAction + iconName: ResourcesModel.updatesCount>0 ? ResourcesModel.hasSecurityUpdates ? "update-high" : "update-low" : "update-none" + text: ResourcesModel.updatesCount<=0 ? (ResourcesModel.isFetching ? i18n("Checking for updates...") : i18n("No Updates") ) : i18nc("Update section name", "Update (%1)", ResourcesModel.updatesCount) + component: topUpdateComp + objectName: "update" + } + TopLevelPageData { + id: settingsAction + iconName: "settings" + text: i18n("Settings") + component: topSourcesComp + objectName: "settings" + } + + Kirigami.Action { + id: refreshAction + readonly property QtObject action: ResourcesModel.updateAction + text: action.text + icon.name: "view-refresh" + onTriggered: action.trigger() + enabled: action.enabled + tooltip: shortcut + + shortcut: "Ctrl+R" + } + + Connections { + target: app + onOpenApplicationInternal: { + Navigation.clearStack() + Navigation.openApplication(app) + } + onListMimeInternal: { + currentTopLevel = topBrowsingComp; + Navigation.openApplicationMime(mime) + } + onListCategoryInternal: { + currentTopLevel = topBrowsingComp; + Navigation.openCategory(cat, "") + } + + onOpenSearch: { + Navigation.clearStack() + Navigation.openApplicationList({search: search}) + } + + onOpenErrorPage: { + Navigation.clearStack() + console.warn("error", errorMessage) + window.stack.push(errorPageComponent, { error: errorMessage, title: i18n("Sorry...") }) + } + + onPreventedClose: showPassiveNotification(i18n("Could not close the application, there are tasks that need to be done.")) + onUnableToFind: { + showPassiveNotification(i18n("Unable to find resource: %1", resid)); + Navigation.openHome() + } + } + + Connections { + target: ResourcesModel + onPassiveMessage: { + showPassiveNotification(message) + console.log("message:", message) + } + } + + Component { + id: errorPageComponent + Kirigami.Page { + id: page + property string error: "" + Kirigami.Heading { + text: page.error + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + } + + Component { + id: proceedDialog + Kirigami.OverlaySheet { + id: sheet + showCloseButton: false + property QtObject transaction + property alias title: heading.text + property alias description: desc.text + property bool acted: false + ColumnLayout { + Kirigami.Heading { + id: heading + } + Label { + id: desc + Layout.fillWidth: true + textFormat: Text.StyledText + wrapMode: Text.WordWrap + } + RowLayout { + Layout.alignment: Qt.AlignRight + Button { + text: i18n("Proceed") + icon.name: "dialog-ok" + onClicked: { + transaction.proceed() + sheet.acted = true + sheet.close() + } + } + Button { + Layout.alignment: Qt.AlignRight + text: i18n("Cancel") + icon.name: "dialog-cancel" + onClicked: { + transaction.cancel() + sheet.acted = true + sheet.close() + } + } + } + } + onSheetOpenChanged: if(!sheetOpen) { + sheet.destroy(1000) + if (!sheet.acted) + transaction.cancel() + } + } + } + + Instantiator { + model: TransactionModel + + delegate: Connections { + target: model.transaction ? model.transaction : null + + onProceedRequest: { + var dialog = proceedDialog.createObject(window, {transaction: transaction, title: title, description: description}) + dialog.open() + } + onPassiveMessage: { + window.showPassiveNotification(message) + } + } + } + + ConditionalObject { + id: drawerObject + condition: window.wideScreen + componentFalse: Kirigami.ContextDrawer {} + } + contextDrawer: drawerObject.object + + globalDrawer: DiscoverDrawer { + wideScreen: window.wideScreen + } + + onCurrentTopLevelChanged: { + window.pageStack.clear() + if (currentTopLevel) + window.pageStack.push(currentTopLevel, {}, window.status!=Component.Ready) + } + + UnityLauncher { + launcherId: "org.kde.discover.desktop" + progressVisible: TransactionModel.count > 0 + progress: TransactionModel.progress + } +} diff --git a/discover/qml/InstallApplicationButton.qml b/discover/qml/InstallApplicationButton.qml new file mode 100644 index 0000000..61d5bca --- /dev/null +++ b/discover/qml/InstallApplicationButton.qml @@ -0,0 +1,65 @@ +import QtQuick 2.1 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import org.kde.kirigami 2.0 as Kirigami + +ConditionalLoader +{ + id: root + property alias application: listener.resource + readonly property alias isActive: listener.isActive + readonly property alias progress: listener.progress + readonly property alias listener: listener + readonly property string text: !application.isInstalled ? i18n("Install") : i18n("Remove") + property Component additionalItem: null + + TransactionListener { + id: listener + } + + property QtObject action: Kirigami.Action { + text: root.text + icon { + name: application.isInstalled ? "trash-empty" : "cloud-download" + color: !enabled ? Kirigami.Theme.backgroundColor : !listener.isActive ? (application.isInstalled ? Kirigami.Theme.negativeTextColor : Kirigami.Theme.positiveTextColor) : Kirigami.Theme.backgroundColor + } + enabled: !listener.isActive && application.state != AbstractResource.Broken + onTriggered: root.click() + } + + function click() { + if (!isActive) { + if(application.isInstalled) + ResourcesModel.removeApplication(application); + else + ResourcesModel.installApplication(application); + } else { + console.warn("trying to un/install but resouce still active", application.name) + } + } + + condition: listener.isActive + componentTrue: RowLayout { + ToolButton { + Layout.fillHeight: true + icon.name: "dialog-cancel" + enabled: listener.isCancellable + onClicked: listener.cancel() + } + + LabelBackground { + Layout.fillWidth: true + text: listener.statusText + progress: listener.progress/100 + } + } + + componentFalse: Button { + enabled: application.state != AbstractResource.Broken + text: root.text + focus: true + + onClicked: root.click() + } +} diff --git a/discover/qml/InstalledPage.qml b/discover/qml/InstalledPage.qml new file mode 100644 index 0000000..ddb179f --- /dev/null +++ b/discover/qml/InstalledPage.qml @@ -0,0 +1,21 @@ +import QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.1 as Kirigami + +ApplicationsListPage { + id: page + stateFilter: AbstractResource.Installed + sortRole: ResourcesProxyModel.NameRole + sortOrder: Qt.AscendingOrder + allBackends: true + + title: i18n("Installed") + compact: true + showRating: false + canNavigate: false + + listHeader: null +} diff --git a/discover/qml/KirigamiActionBridge.qml b/discover/qml/KirigamiActionBridge.qml new file mode 100644 index 0000000..9aa542f --- /dev/null +++ b/discover/qml/KirigamiActionBridge.qml @@ -0,0 +1,39 @@ +/*************************************************************************** + * Copyright © 2015 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQml 2.0 +import org.kde.kirigami 2.1 as Kirigami + +Kirigami.Action +{ + property QtObject action: null + + function removeAmpersand(text) { + return text.replace("&", ""); + } + text: action ? removeAmpersand(action.text) : "" + checked: action && action.checked + enabled: action && action.enabled + tooltip: action ? action.toolTip : "" + iconName: action ? app.iconName(action.icon) : "" + shortcut: action ? action.shortcut : undefined + + onTriggered: action.trigger() +} diff --git a/discover/qml/LabelBackground.qml b/discover/qml/LabelBackground.qml new file mode 100644 index 0000000..d8d9466 --- /dev/null +++ b/discover/qml/LabelBackground.qml @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.0 as Kirigami + +Item +{ + property alias text: theLabel.text + property real progress: 1. + readonly property real margin: Kirigami.Units.smallSpacing * 1.5 + implicitWidth: theLabel.implicitWidth + margin*2 + implicitHeight: theLabel.implicitHeight + margin*2 + width: implicitWidth + height: implicitHeight + + Rectangle { + color: Kirigami.Theme.disabledTextColor + anchors.fill: parent + radius: parent.margin + } + + Rectangle { + anchors { + fill: parent + rightMargin: (1-parent.progress) * parent.width + } + color: Kirigami.Theme.highlightColor + radius: parent.margin + } + + Label { + id: theLabel + anchors.centerIn: parent + color: Kirigami.Theme.highlightedTextColor + } +} diff --git a/discover/qml/LinkButton.qml b/discover/qml/LinkButton.qml new file mode 100644 index 0000000..7cb695d --- /dev/null +++ b/discover/qml/LinkButton.qml @@ -0,0 +1,33 @@ +import QtQuick 2.2 +import org.kde.kirigami 2.0 as Kirigami +import QtQuick.Controls 2.1 as QQC2 + +QQC2.Label { + id: control + + property QtObject action: null //some older Qt versions don't support the namespacing in Kirigami.Action + property alias acceptedButtons: area.acceptedButtons + text: action ? action.text : "" + enabled: !action || action.enabled + onClicked: if (action) action.trigger() + + font: control.font + color: enabled ? Kirigami.Theme.linkColor : Kirigami.Theme.textColor + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + + signal clicked(QtObject mouse) + MouseArea { + id: area + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + + onContainsMouseChanged: { + control.font.underline = containsMouse && control.enabled + } + + onClicked: control.clicked(mouse) + } +} diff --git a/discover/qml/LoadingPage.qml b/discover/qml/LoadingPage.qml new file mode 100644 index 0000000..83c18c0 --- /dev/null +++ b/discover/qml/LoadingPage.qml @@ -0,0 +1,12 @@ +import org.kde.kirigami 2.0 as Kirigami +import QtQuick.Controls 2.1 as QQC2 + +Kirigami.Page { + title: label.text + QQC2.Label { + id: label + text: i18n("Loading...") + font.pointSize: 52 + anchors.centerIn: parent + } +} diff --git a/discover/qml/ProgressView.qml b/discover/qml/ProgressView.qml new file mode 100644 index 0000000..b35b6fe --- /dev/null +++ b/discover/qml/ProgressView.qml @@ -0,0 +1,104 @@ +import QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import org.kde.kirigami 2.0 as Kirigami +import "navigation.js" as Navigation + +Kirigami.BasicListItem { + id: listItem + label: TransactionModel.count ? i18n("Tasks (%1%)", TransactionModel.progress) : i18n("Tasks") + visible: TransactionModel.count > 0 + + background: Item { + + Rectangle { + anchors { + fill: parent + rightMargin: TransactionModel.count>=1 ? listItem.width*(1-TransactionModel.progress/100) : 0 + } + color: TransactionModel.count>=1 || listItem.hovered || listItem.highlighted || listItem.pressed || listItem.checked ? listItem.activeBackgroundColor : listItem.backgroundColor + opacity: listItem.hovered || listItem.highlighted ? 0.2 : 1 + } + } + + property QtObject sheetObject: null + onClicked: { + sheetObject = sheet.createObject() + sheetObject.open() + } + onVisibleChanged: if (!visible && sheetObject) { + sheetObject.close() + sheetObject.destroy(100) + } + + readonly property var v3: Component { + id: sheet + Kirigami.OverlaySheet { + + contentItem: ListView { + spacing: 0 + + Component { + id: listenerComp + TransactionListener {} + } + model: TransactionModel + + delegate: Kirigami.AbstractListItem { + id: del + separatorVisible: false + hoverEnabled: model.application + onClicked: { + if (model.application) { + Navigation.clearStack() + Navigation.openApplication(model.application) + } + } + readonly property QtObject listener: listenerComp.createObject(del, (model.transaction.resource ? {resource: model.transaction.resource} : {transaction: model.transaction})) + + ColumnLayout { + width: parent.width + + RowLayout { + Layout.fillWidth: true + + Kirigami.Icon { + Layout.fillHeight: true + Layout.minimumWidth: height + source: model.transaction.icon + } + + Label { + Layout.alignment: Qt.AlignVCenter + Layout.fillWidth: true + elide: Text.ElideRight + text: listener.isActive && model.transaction.downloadSpeed>0 ? i18nc("TransactioName - TransactionStatus", "%1 - %2: %3", model.transaction.name, listener.statusText, model.transaction.downloadSpeedString) : + listener.isActive ? i18nc("TransactioName - TransactionStatus", "%1 - %2", model.transaction.name, listener.statusText) + : model.transaction.name + } + ToolButton { + icon.name: "dialog-cancel" + visible: listener.isCancellable + onClicked: listener.cancel() + } + ToolButton { + icon.name: "system-run" + visible: model.application != undefined && model.application.isInstalled && !listener.isActive && model.application.canExecute + onClicked: { + model.application.invokeApplication() + model.remove(index) + } + } + } + ProgressBar { + Layout.fillWidth: true + visible: listener.isActive + value: listener.progress / 100 + } + } + } + } + } + } +} diff --git a/discover/qml/Rating.qml b/discover/qml/Rating.qml new file mode 100644 index 0000000..eea2e93 --- /dev/null +++ b/discover/qml/Rating.qml @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Layouts 1.1 +import org.kde.kirigami 2.0 as Kirigami + +RowLayout +{ + id: view + property bool editable: false + property int max: 10 + property int rating: 0 + property real starSize: Kirigami.Units.gridUnit + + clip: true + spacing: 0 + + readonly property var ratingIndex: (theRepeater.count/view.max)*view.rating + + Repeater { + id: theRepeater + model: 5 + delegate: Kirigami.Icon { + Layout.minimumWidth: view.starSize + Layout.minimumHeight: view.starSize + Layout.preferredWidth: view.starSize + Layout.preferredHeight: view.starSize + + width: height + source: "rating" + opacity: (view.editable && mouse.item.containsMouse ? 0.7 + : index>=view.ratingIndex ? 0.2 + : 1) + + ConditionalLoader { + id: mouse + + anchors.fill: parent + condition: view.editable + componentTrue: MouseArea { + hoverEnabled: true + onClicked: rating = (max/theRepeater.model*(index+1)) + } + componentFalse: null + } + } + } +} diff --git a/discover/qml/ReviewDelegate.qml b/discover/qml/ReviewDelegate.qml new file mode 100644 index 0000000..e57893f --- /dev/null +++ b/discover/qml/ReviewDelegate.qml @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.1 +import org.kde.discover 2.0 +import org.kde.kirigami 2.0 as Kirigami + +ColumnLayout +{ + id: item + visible: model.shouldShow + property bool compact: false + property bool separator: true + signal markUseful(bool useful) + + function usefulnessToString(favorable, total) + { + return total==0 + ? i18n("Tell us about this review!") + : i18n("%1 out of %2 people found this review useful", favorable, total) + } + + RowLayout { + Layout.fillWidth: true + Label { + id: content + Layout.fillWidth: true + elide: Text.ElideRight + readonly property string author: reviewer ? reviewer : i18n("unknown reviewer") + text: summary ? i18n("%1 by %2", summary, author) : i18n("Comment by %1", author) + } + Rating { + id: rating + rating: model.rating + starSize: content.font.pointSize + } + } + Label { + Layout.fillWidth: true + text: display + maximumLineCount: item.compact ? 3 : undefined + wrapMode: Text.Wrap + } + Label { + visible: !item.compact + text: usefulnessToString(usefulnessFavorable, usefulnessTotal) + } + + Label { + visible: !item.compact + Layout.alignment: Qt.AlignRight + text: { + switch(usefulChoice) { + case ReviewsModel.Yes: + i18n("Useful? Yes/No") + break; + case ReviewsModel.No: + i18n("Useful? Yes/No") + break; + default: + i18n("Useful? Yes/No") + break; + } + } + onLinkActivated: item.markUseful(link=='true') + } + Kirigami.Separator { + visible: item.separator + Layout.fillWidth: true + } +} diff --git a/discover/qml/ReviewDialog.qml b/discover/qml/ReviewDialog.qml new file mode 100644 index 0000000..a9026ae --- /dev/null +++ b/discover/qml/ReviewDialog.qml @@ -0,0 +1,63 @@ +import QtQuick 2.3 +import QtQuick.Controls 2.2 +import QtQuick.Dialogs 1.2 +import QtQuick.Layouts 1.1 +import QtQuick.Window 2.0 +import org.kde.kirigami 2.0 as Kirigami + +Kirigami.OverlaySheet +{ + id: reviewDialog + + property QtObject application + readonly property alias rating: ratingInput.rating + readonly property alias summary: titleInput.text + readonly property alias review: reviewInput.text + property QtObject backend: null + + signal accepted() + + ColumnLayout { + Kirigami.Heading { level: 3; text: i18n("Reviewing '%1'", application.name) } + Label { text: i18n("Rating:") } + Rating { + id: ratingInput + editable: true + } + + Label { + visible: reviewDialog.backend.userName.length > 0 + text: visible ? i18n("Submission name: %1", reviewDialog.backend.userName) : "" + } + Label { text: i18n("Title:") } + TextField { + id: titleInput + Layout.fillWidth: true + validator: RegExpValidator { regExp: /.{3,70}/ } + } + Label { text: i18n("Review:") } + TextArea { + id: reviewInput + readonly property bool acceptableInput: length > 15 && length < 3000 + Layout.fillWidth: true + Layout.fillHeight: true + } + + Button { + id: acceptButton + Layout.alignment: Qt.AlignRight + enabled: rating > 2 && titleInput.acceptableInput && reviewInput.acceptableInput + text: { + if (rating < 2) return i18n("Enter a rating"); + if (! titleInput.acceptableInput) return i18n("Write a title"); + if (reviewInput.length < 15) return i18n("Keep writing..."); + if (reviewInput.length > 3000) return i18n("Too long!"); + return i18n("Submit review"); + } + onClicked: { + reviewDialog.accepted() + reviewDialog.sheetOpen = false + } + } + } +} diff --git a/discover/qml/ReviewsPage.qml b/discover/qml/ReviewsPage.qml new file mode 100644 index 0000000..5a6f152 --- /dev/null +++ b/discover/qml/ReviewsPage.qml @@ -0,0 +1,81 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 2.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.0 as Kirigami + +Kirigami.OverlaySheet { + id: page + property alias model: reviewsView.model + readonly property QtObject reviewsBackend: resource.backend.reviewsBackend + readonly property var resource: model.resource + + readonly property var rd: ReviewDialog { + id: reviewDialog + application: page.resource + parent: overlay + backend: page.reviewsBackend + onAccepted: backend.submitReview(resource, summary, review, rating) + } + + function openReviewDialog() { + reviewDialog.sheetOpen = true + page.sheetOpen = false + } + + ListView { + id: reviewsView + + clip: true + spacing: Kirigami.Units.smallSpacing + cacheBuffer: Math.max(0, contentHeight) + + header: Item { + width: parent.width + height: reviewButton.implicitHeight + 2 * Kirigami.Units.largeSpacing + Button { + id: reviewButton + + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + leftMargin: Kirigami.Units.largeSpacing + } + + visible: page.reviewsBackend != null + enabled: page.resource.isInstalled + text: i18n("Review...") + onClicked: page.openReviewDialog() + } + } + + delegate: ReviewDelegate { + anchors { + left: parent.left + right: parent.right + } + separator: index != ListView.view.count-1 + onMarkUseful: page.model.markUseful(index, useful) + } + } +} diff --git a/discover/qml/SearchField.qml b/discover/qml/SearchField.qml new file mode 100644 index 0000000..2c71b7f --- /dev/null +++ b/discover/qml/SearchField.qml @@ -0,0 +1,81 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.5 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.1 as Kirigami + +TextField +{ + id: searchField + property QtObject page + property string currentSearchText + + placeholderText: (!enabled || !page || page.hasOwnProperty("isHome") || page.title.length === 0) ? i18n("Search...") : i18n("Search in '%1'...", window.leftPage.title) + + Shortcut { + sequence: "Ctrl+F" + onActivated: { + searchField.forceActiveFocus() + searchField.selectAll() + } + } + onAccepted: { + currentSearchText = text + } + + hoverEnabled: true + ToolTip { + delay: Kirigami.Units.longDuration + visible: hovered + text: searchAction.shortcut + } + + function clearText() { + searchField.text = "" + searchField.accepted() + } + + ToolButton { + anchors { + top: parent.top + right: parent.right + bottom: parent.bottom + margins: Kirigami.Units.smallSpacing + } + icon.name: "edit-clear" + visible: searchField.text != "" + onClicked: clearText() + } + + Connections { + ignoreUnknownSignals: true + target: page + onClearSearch: clearText() + } + + Connections { + target: applicationWindow() + onCurrentTopLevelChanged: { + if (applicationWindow().currentTopLevel.length > 0) + clearText() + } + } +} diff --git a/discover/qml/SearchPage.qml b/discover/qml/SearchPage.qml new file mode 100644 index 0000000..ad4fe44 --- /dev/null +++ b/discover/qml/SearchPage.qml @@ -0,0 +1,55 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +import QtQuick 2.5 + +ApplicationsListPage { + id: searchPage + + signal shown() + Timer { + interval: 0 + running: true + onTriggered: { + searchPage.shown() + } + } + + listHeaderPositioning: ListView.OverlayHeader + listHeader: SearchField { + id: searchField + width: parent.width + focus: true + z: 100 + Component.onCompleted: forceActiveFocus() + + Connections { + ignoreUnknownSignals: true + target: searchPage + onShown: { + searchField.forceActiveFocus() + } + } + + onCurrentSearchTextChanged: { + searchPage.search = currentSearchText + } + } +} diff --git a/discover/qml/Shadow.qml b/discover/qml/Shadow.qml new file mode 100644 index 0000000..1d0548c --- /dev/null +++ b/discover/qml/Shadow.qml @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details + * + * You should have received a copy of the GNU Library 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 QtQuick 2.1 +import QtGraphicalEffects 1.0 +import org.kde.kirigami 2.2 + +LinearGradient { + id: shadow + property int edge: Qt.LeftEdge + + width: Units.gridUnit/2 + height: Units.gridUnit/2 + + start: Qt.point((edge != Qt.RightEdge ? 0 : width), (edge != Qt.BottomEdge ? 0 : height)) + end: Qt.point((edge != Qt.LeftEdge ? 0 : width), (edge != Qt.TopEdge ? 0 : height)) + gradient: Gradient { + GradientStop { + position: 0.0 + color: Theme.backgroundColor + } + GradientStop { + position: 0.3 + color: Qt.rgba(0, 0, 0, 0.1) + } + GradientStop { + position: 1.0 + color: "transparent" + } + } +} + diff --git a/discover/qml/SourcesPage.qml b/discover/qml/SourcesPage.qml new file mode 100644 index 0000000..a2bef56 --- /dev/null +++ b/discover/qml/SourcesPage.qml @@ -0,0 +1,262 @@ +import QtQuick 2.4 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kirigami 2.2 as Kirigami +import "navigation.js" as Navigation + +DiscoverPage { + id: page + clip: true + title: i18n("Settings") + property string search: "" + + contextualActions: [ + KirigamiActionBridge { action: app.action("help_about_app") }, + KirigamiActionBridge { action: app.action("help_report_bug") } + ] + + mainItem: ListView { + id: sourcesView + model: QSortFilterProxyModel { + filterRegExp: new RegExp(page.search, 'i') + dynamicSortFilter: false //We don't want to sort, as sorting can have some semantics on some backends + sourceModel: SourcesModel + } + currentIndex: -1 + + section.property: "sourceName" + section.delegate: Kirigami.AbstractListItem { + id: backendItem + hoverEnabled: false + supportsMouseEvents: false + readonly property QtObject backend: SourcesModel.sourcesBackendByName(section) + readonly property QtObject resourcesBackend: backend.resourcesBackend + readonly property bool isDefault: ResourcesModel.currentApplicationBackend == resourcesBackend + + GridLayout { + id: sourceTitleLayout + Layout.fillHeight: true + Connections { + target: backendItem.backend + onPassiveMessage: window.showPassiveNotification(message) + onProceedRequest: { + var dialog = sourceProceedDialog.createObject(window, {sourcesBackend: sourcesBackend, title: title, description: description}) + dialog.open() + } + } + + Kirigami.Heading { + Layout.fillWidth: true + Layout.leftMargin: Kirigami.Units.smallSpacing + Layout.alignment: Qt.AlignVCenter + text: backendItem.isDefault ? i18n("%1 (Default)", resourcesBackend.displayName) : resourcesBackend.displayName + level: 3 + } + + Instantiator { + id: backendActionsInst + model: ActionsModel { + actions: backendItem.backend ? backendItem.backend.actions : undefined + } + delegate: Button { + parent: sourceTitleLayout + Layout.column: 1 + text: modelData.text + icon.name: app.iconName(modelData.icon) + ToolTip.visible: hovered + ToolTip.text: modelData.toolTip + onClicked: modelData.trigger() + } + onObjectRemoved: { + object.destroy() + } + } + + Button { + Layout.alignment: Qt.AlignVCenter + icon.name: "preferences-other" + Layout.column: 2 + + visible: resourcesBackend && resourcesBackend.hasApplications + Component { + id: dialogComponent + AddSourceDialog { + source: backendItem.backend + onVisibleChanged: if (!visible) { + destroy() + } + } + } + + id: this + onClicked: settingsMenu.popup(this) + Menu { + id: settingsMenu + MenuItem { + enabled: !backendItem.isDefault + text: i18n("Make default") + onTriggered: ResourcesModel.currentApplicationBackend = backendItem.backend.resourcesBackend + } + + MenuItem { + text: i18n("Add Source...") + visible: backendItem.backend && backendItem.backend.supportsAdding + + onTriggered: { + var addSourceDialog = dialogComponent.createObject(null, {displayName: backendItem.backend.resourcesBackend.displayName }) + addSourceDialog.open() + } + } + } + } + } + } + + Component { + id: sourceProceedDialog + Kirigami.OverlaySheet { + id: sheet + showCloseButton: false + property QtObject sourcesBackend + property alias title: heading.text + property alias description: desc.text + property bool acted: false + ColumnLayout { + Kirigami.Heading { + id: heading + } + Label { + id: desc + Layout.fillWidth: true + textFormat: Text.StyledText + wrapMode: Text.WordWrap + } + RowLayout { + Layout.alignment: Qt.AlignRight + Button { + text: i18n("Proceed") + icon.name: "dialog-ok" + onClicked: { + sourcesBackend.proceed() + sheet.acted = true + sheet.close() + } + } + Button { + Layout.alignment: Qt.AlignRight + text: i18n("Cancel") + icon.name: "dialog-cancel" + onClicked: { + sourcesBackend.cancel() + sheet.acted = true + sheet.close() + } + } + } + } + onSheetOpenChanged: if(!sheetOpen) { + sheet.destroy(1000) + if (!sheet.acted) + sourcesBackend.cancel() + } + } + } + + delegate: Kirigami.SwipeListItem { + Layout.fillWidth: true + enabled: display.length>0 && model.enabled + highlighted: ListView.isCurrentItem + supportsMouseEvents: sourcesBackend.canFilterSources + onClicked: if (sourcesBackend.canFilterSources) { + Navigation.openApplicationListSource(sourceId) + } + + Keys.onReturnPressed: clicked() + actions: [ + Kirigami.Action { + iconName: "go-up" + enabled: sourcesBackend.firstSourceId !== sourceId + visible: sourcesBackend.canMoveSources + onTriggered: { + var ret = sourcesBackend.moveSource(sourceId, -1) + if (!ret) + window.showPassiveNotification(i18n("Failed to increase '%1' preference", display)) + } + }, + Kirigami.Action { + iconName: "go-down" + enabled: sourcesBackend.lastSourceId !== sourceId + visible: sourcesBackend.canMoveSources + onTriggered: { + var ret = sourcesBackend.moveSource(sourceId, +1) + if (!ret) + window.showPassiveNotification(i18n("Failed to decrease '%1' preference", display)) + } + }, + Kirigami.Action { + iconName: "edit-delete" + tooltip: i18n("Delete the origin") + visible: sourcesBackend.supportsAdding + onTriggered: { + var backend = sourcesBackend + if (!backend.removeSource(sourceId)) { + window.showPassiveNotification(i18n("Failed to remove the source '%1'", display)) + } + } + } + ] + + RowLayout { + CheckBox { + id: enabledBox + + readonly property variant idx: sourcesView.model.index(index, 0) + readonly property variant modelChecked: sourcesView.model.data(idx, Qt.CheckStateRole) + checked: modelChecked != Qt.Unchecked + enabled: modelChecked !== undefined + onClicked: { + sourcesView.model.setData(idx, checkState, Qt.CheckStateRole) + checked = Qt.binding(function() { return modelChecked != Qt.Unchecked; }) + } + } + Label { + text: display + (toolTip ? " - " + toolTip + "" : "") + elide: Text.ElideRight + Layout.fillWidth: true + } + } + } + + footer: ColumnLayout { + id: foot + anchors { + right: parent.right + left: parent.left + margins: Kirigami.Units.smallSpacing + } + Kirigami.Heading { + Layout.fillWidth: true + text: i18n("Missing Backends") + visible: back.count>0 + } + spacing: 0 + Repeater { + id: back + model: ResourcesProxyModel { + extending: "org.kde.discover.desktop" + filterMinimumState: false + } + delegate: Kirigami.BasicListItem { + supportsMouseEvents: false + label: name + icon: model.icon + InstallApplicationButton { + application: model.application + } + } + } + } + } +} diff --git a/discover/qml/TopLevelPageData.qml b/discover/qml/TopLevelPageData.qml new file mode 100644 index 0000000..64d4884 --- /dev/null +++ b/discover/qml/TopLevelPageData.qml @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 org.kde.kirigami 2.0 + +Action { + property string component + checked: window.currentTopLevel==component + + onTriggered: { + if(window.currentTopLevel!=component) + window.currentTopLevel=component + } +} diff --git a/discover/qml/UpdatesPage.qml b/discover/qml/UpdatesPage.qml new file mode 100644 index 0000000..dc36962 --- /dev/null +++ b/discover/qml/UpdatesPage.qml @@ -0,0 +1,312 @@ +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.1 +import QtQuick 2.4 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import "navigation.js" as Navigation +import org.kde.kirigami 2.3 as Kirigami + +DiscoverPage +{ + id: page + title: i18n("Updates") + + property string footerLabel: "" + + ResourcesUpdatesModel { + id: resourcesUpdatesModel + onPassiveMessage: window.showPassiveNotification(message) + onIsProgressingChanged: { + if (!isProgressing) { + resourcesUpdatesModel.prepare() + } + } + + Component.onCompleted: { + if (!isProgressing) { + resourcesUpdatesModel.prepare() + } + } + } + + UpdateModel { + id: updateModel + backend: resourcesUpdatesModel + } + + Kirigami.Action + { + id: updateAction + text: page.unselected>0 ? i18n("Update Selected") : i18n("Update All") + visible: updateModel.toUpdateCount + iconName: "update-none" + enabled: !resourcesUpdatesModel.isProgressing && !ResourcesModel.isFetching + onTriggered: resourcesUpdatesModel.updateAll() + } + + footer: ScrollView { + id: scv + width: parent.width + height: visible ? Kirigami.Units.gridUnit * 10 : 0 + visible: log.contents.length > 0 + TextArea { + readOnly: true + text: log.contents + + cursorPosition: text.length - 1 + font.family: "monospace" + + ReadFile { + id: log + filter: ".*ALPM-SCRIPTLET\\] .*" + path: "/var/log/pacman.log" + } + } + } + + Kirigami.Action + { + id: cancelUpdateAction + iconName: "dialog-cancel" + text: i18n("Cancel") + enabled: resourcesUpdatesModel.transaction && resourcesUpdatesModel.transaction.isCancellable + onTriggered: resourcesUpdatesModel.transaction.cancel() + } + + readonly property int unselected: (updateModel.totalUpdatesCount - updateModel.toUpdateCount) + readonly property QtObject currentAction: resourcesUpdatesModel.isProgressing ? cancelUpdateAction : updateAction + actions { + left: refreshAction + main: currentAction + } + + header: ToolBar { + Kirigami.Theme.colorSet: Kirigami.Theme.Button + Kirigami.Theme.inherit: false + visible: (updateModel.totalUpdatesCount > 0 && resourcesUpdatesModel.isProgressing) || updateModel.hasUpdates + + RowLayout { + anchors.fill: parent + enabled: page.currentAction.enabled + + LabelBackground { + Layout.leftMargin: Kirigami.Units.gridUnit + text: updateModel.toUpdateCount + " (" + updateModel.updateSize+")" + } + Label { + text: i18n("updates selected") + } + LabelBackground { + id: unselectedItem + text: page.unselected + visible: page.unselected>0 + } + Label { + text: i18n("updates not selected") + visible: unselectedItem.visible + } + Item { + Layout.fillWidth: true + } + } + } + + supportsRefreshing: true + onRefreshingChanged: { + showPassiveNotification("Fetching updates...") + ResourcesModel.updateAction.triggered() + refreshing = false + } + ListView + { + id: updatesView + currentIndex: -1 + + displaced: Transition { + YAnimator { + duration: Kirigami.Units.longDuration + easing.type: Easing.InOutQuad + } + } + + footer: ColumnLayout { + anchors.right: parent.right + anchors.left: parent.left + Kirigami.Heading { + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + horizontalAlignment: Text.AlignHCenter + visible: page.footerLabel !== "" + text: page.footerLabel + } + Kirigami.Icon { + Layout.alignment: Qt.AlignHCenter + visible: page.footerLabel !== "" + source: "update-none" + opacity: 0.3 + width: Kirigami.Units.gridUnit * 12 + height: width + } + Item { + visible: page.footerLabel === "" + height: Kirigami.Units.gridUnit + width: 1 + } + } + + model: QSortFilterProxyModel { + sourceModel: updateModel + sortRole: UpdateModel.SectionResourceProgressRole + } + + section { + property: "section" + delegate: Kirigami.Heading { + x: Kirigami.Units.gridUnit + level: 3 + text: section + height: implicitHeight + Kirigami.Units.largeSpacing * 2 + } + } + + delegate: Kirigami.AbstractListItem { + backgroundColor: Kirigami.Theme.backgroundColor + highlighted: ListView.isCurrentItem + onEnabledChanged: if (!enabled) { + layout.extended = false; + } + + Keys.onReturnPressed: { + itemChecked.clicked() + } + Keys.onPressed: if (event.key===Qt.Key_Alt) layout.extended = true + Keys.onReleased: if (event.key===Qt.Key_Alt) layout.extended = false + + ColumnLayout { + id: layout + property bool extended: false + onExtendedChanged: if (extended) { + updateModel.fetchUpdateDetails(index) + } + RowLayout { + Layout.fillWidth: true + Layout.fillHeight: true + + CheckBox { + id: itemChecked + Layout.leftMargin: Kirigami.Units.gridUnit + Layout.alignment: Qt.AlignVCenter + checked: model.checked == Qt.Checked + onClicked: model.checked = (model.checked==Qt.Checked ? Qt.Unchecked : Qt.Checked) + enabled: !resourcesUpdatesModel.isProgressing + } + + Kirigami.Icon { + Layout.fillHeight: true + Layout.preferredWidth: height + source: decoration + smooth: true + } + + Label { + Layout.fillWidth: true + text: i18n("%1 (%2)", display, version) + elide: Text.ElideRight + } + + LabelBackground { + Layout.minimumWidth: Kirigami.Units.gridUnit * 6 + text: size + + progress: resourceProgress/100 + } + } + + Frame { + Layout.fillWidth: true + implicitHeight: view.contentHeight + visible: layout.extended && changelog.length>0 + Label { + id: view + anchors { + right: parent.right + left: parent.left + } + text: changelog + textFormat: Text.StyledText + wrapMode: Text.WordWrap + onLinkActivated: Qt.openUrlExternally(link) + + } + + //This saves a binding loop on implictHeight, as the Label + //height is updated twice (first time with the wrong value) + Behavior on implicitHeight + { PropertyAnimation { duration: Kirigami.Units.shortDuration } } + } + + Button { + Layout.alignment: Qt.AlignRight + text: i18n("More Information...") + visible: layout.extended + enabled: !resourcesUpdatesModel.isProgressing + onClicked: Navigation.openApplication(resource) + } + } + + onClicked: { + layout.extended = !layout.extended + } + } + } + + readonly property alias secSinceUpdate: resourcesUpdatesModel.secsToLastUpdate + state: ( updateModel.hasUpdates ? "has-updates" + : resourcesUpdatesModel.isProgressing ? "progressing" + : ResourcesModel.isFetching ? "fetching" + : secSinceUpdate < 0 ? "unknown" + : secSinceUpdate === 0 ? "now-uptodate" + : secSinceUpdate < 1000 * 60 * 60 * 24 ? "uptodate" + : secSinceUpdate < 1000 * 60 * 60 * 24 * 7 ? "medium" + : "low" + ) + + states: [ + State { + name: "fetching" + PropertyChanges { target: page; title: i18nc("@info", "Fetching...") } + PropertyChanges { target: page; footerLabel: i18nc("@info", "Looking for updates") } + }, + State { + name: "progressing" + PropertyChanges { target: page; title: i18nc("@info", "Updating...") } + PropertyChanges { target: page; footerLabel: resourcesUpdatesModel.progress<=0 ? i18nc("@info", "Fetching updates") : "" } + }, + State { + name: "has-updates" + PropertyChanges { target: page; title: i18nc("@info", "Updates") } + }, + State { + name: "now-uptodate" + PropertyChanges { target: page; title: i18nc("@info", "The system is up to date") } + PropertyChanges { target: page; footerLabel: i18nc("@info", "No updates") } + }, + State { + name: "uptodate" + PropertyChanges { target: page; title: i18nc("@info", "The system is up to date") } + PropertyChanges { target: page; footerLabel: i18nc("@info", "No updates") } + }, + State { + name: "medium" + PropertyChanges { target: page; title: i18nc("@info", "No updates are available") } + }, + State { + name: "low" + PropertyChanges { target: page; title: i18nc("@info", "Should check for updates") } + }, + State { + name: "unknown" + PropertyChanges { target: page; title: i18nc("@info", "It is unknown when the last check for updates was") } + } + ] +} diff --git a/discover/qml/UrlButton.qml b/discover/qml/UrlButton.qml new file mode 100644 index 0000000..abd8751 --- /dev/null +++ b/discover/qml/UrlButton.qml @@ -0,0 +1,27 @@ +import QtQuick 2.2 +import org.kde.kirigami 2.0 as Kirigami +import QtQuick.Controls 2.1 as QQC2 + +LinkButton +{ + id: button + property string url + text: url + visible: text.length>0 + + acceptedButtons: Qt.LeftButton | Qt.RightButton + onClicked: { + if (mouse.button === Qt.RightButton) + menu.popup() + else + Qt.openUrlExternally(url) + } + + QQC2.Menu { + id: menu + QQC2.MenuItem { + text: i18n("Copy link address") + onClicked: app.copyTextToClipboard(button.url) + } + } +} diff --git a/discover/qml/navigation.js b/discover/qml/navigation.js new file mode 100644 index 0000000..b3e9d93 --- /dev/null +++ b/discover/qml/navigation.js @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +function clearStack() +{ + window.currentTopLevel = "" + window.stack.clear(); +} + +function openApplicationListSource(origin) { + openApplicationList({ originFilter: origin, title: origin, allBackends: true }) +} + +function openApplicationMime(mime) { + clearStack() + openApplicationList({ mimeTypeFilter: mime, title: i18n("Resources for '%1'", mime) }) +} + +function openApplicationList(props) { + var page = window.stack.push(applicationListComp, props) + if (props.search === "") + page.clearSearch(); +} + +function openCategory(cat, search) { + clearStack() + openApplicationList({ category: cat, search: search }) +} + +function openApplication(app) { + console.assert(app) + window.stack.push(applicationComp, { application: app }) +} + +function openReviews(model) { + window.stack.push(reviewsComp, { model: model }) +} + +function openExtends(ext) { + window.stack.push(applicationListComp, { extending: ext, title: i18n("Extensions...") }) +} + +function openHome() { + if (window.globalDrawer.currentSubMenu) + window.globalDrawer.resetMenu(); + clearStack() + var page = window.stack.push(topBrowsingComp) + page.clearSearch() +} diff --git a/discover/resources.qrc b/discover/resources.qrc new file mode 100644 index 0000000..25d4624 --- /dev/null +++ b/discover/resources.qrc @@ -0,0 +1,40 @@ + + + + qml/TopLevelPageData.qml + qml/ApplicationsListPage.qml + qml/ApplicationPage.qml + qml/ReviewsPage.qml + qml/AddonsView.qml + qml/ApplicationDelegate.qml + qml/InstallApplicationButton.qml + qml/Rating.qml + qml/UpdatesPage.qml + qml/ReviewDialog.qml + qml/ProgressView.qml + qml/BrowsingPage.qml + qml/InstalledPage.qml + qml/SearchPage.qml + qml/SourcesPage.qml + qml/ReviewDelegate.qml + qml/AddSourceDialog.qml + qml/ConditionalLoader.qml + qml/ConditionalObject.qml + qml/LinkButton.qml + qml/UrlButton.qml + qml/ApplicationScreenshots.qml + qml/LabelBackground.qml + qml/ActionBridge.qml + qml/KirigamiActionBridge.qml + qml/DiscoverPage.qml + qml/DiscoverWindow.qml + qml/DiscoverDrawer.qml + qml/ActionListItem.qml + qml/LoadingPage.qml + qml/SearchField.qml + qml/Shadow.qml + qml/DiscoverPopup.qml + + qml/navigation.js + + diff --git a/exporter/CMakeLists.txt b/exporter/CMakeLists.txt new file mode 100644 index 0000000..8023033 --- /dev/null +++ b/exporter/CMakeLists.txt @@ -0,0 +1,3 @@ +add_executable(plasma-discover-exporter main.cpp MuonExporter.cpp) + +target_link_libraries(plasma-discover-exporter Discover::Common KF5::CoreAddons KF5::I18n) diff --git a/exporter/MuonExporter.cpp b/exporter/MuonExporter.cpp new file mode 100644 index 0000000..041ba05 --- /dev/null +++ b/exporter/MuonExporter.cpp @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include "MuonExporter.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +MuonExporter::MuonExporter() + : QObject(nullptr) + , m_exculdedProperties({ "executables" , "canExecute" }) +{ + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &MuonExporter::fetchResources); +} + +MuonExporter::~MuonExporter() = default; + +void MuonExporter::setExportPath(const QUrl& url) +{ + m_path = url; +} + +QJsonObject itemDataToMap(const AbstractResource* res, const QSet& excluded) +{ + QJsonObject ret; + int propsCount = res->metaObject()->propertyCount(); + for(int i = 0; imetaObject()->property(i); + if(prop.type() == QVariant::UserType || excluded.contains(prop.name())) + continue; + + const QVariant val = prop.read(res); + if(val.isNull()) + continue; + + ret.insert(QLatin1String(prop.name()), QJsonValue::fromVariant(val)); + } + return ret; +} + +void MuonExporter::fetchResources() +{ + ResourcesModel* m = ResourcesModel::global(); + QSet streams; + foreach(auto backend, m->backends()) { + streams << backend->search({}); + } + auto stream = new StoredResultsStream(streams); + connect(stream, &StoredResultsStream::finishedResources, this, &MuonExporter::exportResources); + QTimer::singleShot(15000, stream, &AggregatedResultsStream::finished); +} + +void MuonExporter::exportResources(const QVector& resources) +{ + QJsonArray data; + foreach(auto res, resources) { + data += itemDataToMap(res, m_exculdedProperties); + } + + QJsonDocument doc = QJsonDocument(data); + if(doc.isNull()) { + qWarning() << "Could not completely export the data to " << m_path; + return; + } + + QFile f(m_path.toLocalFile()); + if(f.open(QIODevice::WriteOnly|QIODevice::Text)) { + int w = f.write(doc.toJson(QJsonDocument::Indented)); + if(w<=0) + qWarning() << "Could not completely export the data to " << m_path; + } else { + qWarning() << "Could not write to " << m_path; + } + qDebug() << "exported items: " << data.count() << " to " << m_path; + emit exportDone(); +} diff --git a/exporter/MuonExporter.h b/exporter/MuonExporter.h new file mode 100644 index 0000000..9834d09 --- /dev/null +++ b/exporter/MuonExporter.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef MUONEXPORTER_H +#define MUONEXPORTER_H + +#include +#include +#include + +class AbstractResource; + +class MuonExporter : public QObject +{ + Q_OBJECT + public: + explicit MuonExporter(); + ~MuonExporter() override; + + void setExportPath(const QUrl& url); + + public Q_SLOTS: + void fetchResources(); + void exportResources(const QVector& resources); + + Q_SIGNALS: + void exportDone(); + + private: + QUrl m_path; + const QSet m_exculdedProperties; +}; + +#endif // MUONEXPORTER_H diff --git a/exporter/main.cpp b/exporter/main.cpp new file mode 100644 index 0000000..be10a73 --- /dev/null +++ b/exporter/main.cpp @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include +#include +#include +#include +#include +#include "MuonExporter.h" +#include +#include "../DiscoverVersion.h" + +int main(int argc, char** argv) +{ + QGuiApplication app(argc, argv); + app.setQuitOnLastWindowClosed(false); + KLocalizedString::setApplicationDomain("plasma-discover-exporter"); + KAboutData about(QStringLiteral("muonexporter"), i18n("Muon Exporter"), version, QString(), + KAboutLicense::GPL, i18n("©2013 Aleix Pol Gonzalez"), QString()); + about.addAuthor(i18n("Jonathan Thomas"), QString(), QStringLiteral("echidnaman@kubuntu.org")); + about.addAuthor(i18n("Aleix Pol Gonzalez"), QString(), QStringLiteral("aleixpol@blue-systems.com")); + about.setProductName("discover/exporter"); + + MuonExporter exp; + { + QCommandLineParser parser; + parser.addOption(QCommandLineOption(QStringLiteral("backends"), i18n("List all the backends we'll want to have loaded, separated by coma ','."), QStringLiteral("names"))); + parser.addPositionalArgument(QStringLiteral("file"), i18n("File to which we'll export")); + DiscoverBackendsFactory::setupCommandLine(&parser); + about.setupCommandLine(&parser); + parser.process(app); + about.processCommandLine(&parser); + DiscoverBackendsFactory::processCommandLine(&parser, false); + + if(parser.positionalArguments().count() != 1) { + parser.showHelp(1); + } + exp.setExportPath(QUrl::fromUserInput(parser.positionalArguments().at(0), QString(), QUrl::AssumeLocalFile)); + } + + QObject::connect(&exp, &MuonExporter::exportDone, &app, &QApplication::quit); + + return app.exec(); +} diff --git a/libdiscover/ActionsModel.cpp b/libdiscover/ActionsModel.cpp new file mode 100644 index 0000000..e21aa6e --- /dev/null +++ b/libdiscover/ActionsModel.cpp @@ -0,0 +1,93 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "ActionsModel.h" +#include "resources/ResourcesModel.h" +#include "utils.h" +#include +#include "libdiscover_debug.h" + +ActionsModel::ActionsModel(QObject* parent) + : QAbstractListModel(parent) + , m_priority(-1) +{ + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &ActionsModel::reload); +} + +QHash< int, QByteArray > ActionsModel::roleNames() const +{ + return { { Qt::UserRole, "action" }}; +} + +QVariant ActionsModel::data(const QModelIndex& index, int role) const +{ + if(!index.isValid() || role!=Qt::UserRole) + return QVariant(); + return QVariant::fromValue(m_filteredActions[index.row()]); +} + +int ActionsModel::rowCount(const QModelIndex& parent) const +{ + return parent.isValid() ? 0 : m_filteredActions.count(); +} + +void ActionsModel::setActions(const QVariant& actions) +{ + if (m_actions == actions) { + return; + } + m_actions = actions; + + reload(); + Q_EMIT actionsChanged(m_actions); +} + +void ActionsModel::reload() +{ + QList actions = m_actions.value>(); + if (m_priority>=0) { + actions = kFilter>(actions, [this](QAction* action){ return action->priority() == m_priority; }); + } + actions = kFilter>(actions, [](QAction* action){ return action->isVisible(); }); + if (actions == m_filteredActions) + return; + + + beginResetModel(); + m_filteredActions = actions; + endResetModel(); + + for(auto a : qAsConst(m_filteredActions)) { + connect(a, &QAction::changed, this, &ActionsModel::reload, Qt::UniqueConnection); + } +} + +int ActionsModel::filterPriority() const +{ + return m_priority; +} + +void ActionsModel::setFilterPriority(int p) +{ + if (m_priority != p) { + m_priority = p; + reload(); + } +} diff --git a/libdiscover/ActionsModel.h b/libdiscover/ActionsModel.h new file mode 100644 index 0000000..099448c --- /dev/null +++ b/libdiscover/ActionsModel.h @@ -0,0 +1,59 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ACTIONSMODEL_H +#define ACTIONSMODEL_H + +#include +#include +#include "discovercommon_export.h" + +class QAction; + +class DISCOVERCOMMON_EXPORT ActionsModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(QVariant actions READ actions WRITE setActions NOTIFY actionsChanged) + Q_PROPERTY(int filterPriority READ filterPriority WRITE setFilterPriority) + public: + explicit ActionsModel(QObject* parent = nullptr); + + QHash roleNames() const override; + QVariant data(const QModelIndex& index, int role) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + + void setFilterPriority(int p); + int filterPriority() const; + + void setActions(const QVariant& actions); + QVariant actions() const { return m_actions; } + + Q_SIGNALS: + void actionsChanged(const QVariant& actions); + + private: + void reload(); + + QVariant m_actions; + QList m_filteredActions; + int m_priority; +}; + +#endif diff --git a/libdiscover/ApplicationAddonsModel.cpp b/libdiscover/ApplicationAddonsModel.cpp new file mode 100644 index 0000000..219b6ea --- /dev/null +++ b/libdiscover/ApplicationAddonsModel.cpp @@ -0,0 +1,158 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "ApplicationAddonsModel.h" +#include +#include +#include +#include +#include "libdiscover_debug.h" + +ApplicationAddonsModel::ApplicationAddonsModel(QObject* parent) + : QAbstractListModel(parent) + , m_app(nullptr) +{ +// new ModelTest(this, this); + + connect(TransactionModel::global(), &TransactionModel::transactionRemoved, this, &ApplicationAddonsModel::transactionOver); +} + +QHash< int, QByteArray > ApplicationAddonsModel::roleNames() const +{ + QHash roles = QAbstractItemModel::roleNames(); + roles.insert(Qt::CheckStateRole, "checked"); + roles.insert(PackageNameRole, "packageName"); + return roles; +} + +void ApplicationAddonsModel::setApplication(AbstractResource* app) +{ + if (app == m_app) + return; + + if (m_app) + disconnect(m_app, nullptr, this, nullptr); + + m_app = app; + resetState(); + if (m_app) { + connect(m_app, &QObject::destroyed, this, [this](){ + setApplication(nullptr); + }); + } + emit applicationChanged(); +} + +void ApplicationAddonsModel::resetState() +{ + beginResetModel(); + m_state.clear(); + m_initial = m_app ? m_app->addonsInformation() : QList(); + endResetModel(); + + emit stateChanged(); +} + +AbstractResource* ApplicationAddonsModel::application() const +{ + return m_app; +} + +int ApplicationAddonsModel::rowCount(const QModelIndex& parent) const +{ + return parent.isValid()? 0 : m_initial.size(); +} + +QVariant ApplicationAddonsModel::data(const QModelIndex& index, int role) const +{ + if(!index.isValid() || index.row()>=m_initial.size()) + return QVariant(); + + switch(role) { + case Qt::DisplayRole: + return m_initial[index.row()].name(); + case Qt::ToolTipRole: + return m_initial[index.row()].description(); + case PackageNameRole: + return m_initial[index.row()].packageName(); + case Qt::CheckStateRole: { + const PackageState init = m_initial[index.row()]; + const AddonList::State state = m_state.addonState(init.name()); + if(state == AddonList::None) { + return init.isInstalled() ? Qt::Checked : Qt::Unchecked; + } else { + return state == AddonList::ToInstall ? Qt::Checked : Qt::Unchecked; + } + } + } + + return QVariant(); +} + +void ApplicationAddonsModel::discardChanges() +{ + //dataChanged should suffice, but it doesn't + beginResetModel(); + m_state.clear(); + emit stateChanged(); + endResetModel(); +} + +void ApplicationAddonsModel::applyChanges() +{ + ResourcesModel::global()->installApplication(m_app, m_state); +} + +void ApplicationAddonsModel::changeState(const QString& packageName, bool installed) +{ + auto it = m_initial.constBegin(); + for(; it != m_initial.constEnd(); ++it) { + if(it->packageName()==packageName) + break; + } + Q_ASSERT(it != m_initial.constEnd()); + + const bool restored = it->isInstalled()==installed; + + if(restored) + m_state.resetAddon(packageName); + else + m_state.addAddon(packageName, installed); + + emit stateChanged(); +} + +bool ApplicationAddonsModel::hasChanges() const +{ + return !m_state.isEmpty(); +} + +bool ApplicationAddonsModel::isEmpty() const +{ + return m_initial.isEmpty(); +} + +void ApplicationAddonsModel::transactionOver(Transaction* t) +{ + if (t->resource() != m_app) + return; + + resetState(); +} diff --git a/libdiscover/ApplicationAddonsModel.h b/libdiscover/ApplicationAddonsModel.h new file mode 100644 index 0000000..6b9fbaf --- /dev/null +++ b/libdiscover/ApplicationAddonsModel.h @@ -0,0 +1,73 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef APPLICATIONADDONSMODEL_H +#define APPLICATIONADDONSMODEL_H + +#include +#include +#include "Transaction/AddonList.h" + +#include "discovercommon_export.h" + +class Transaction; +class AbstractResource; + +class DISCOVERCOMMON_EXPORT ApplicationAddonsModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(AbstractResource* application READ application WRITE setApplication NOTIFY applicationChanged) + Q_PROPERTY(bool hasChanges READ hasChanges NOTIFY stateChanged) + Q_PROPERTY(bool isEmpty READ isEmpty NOTIFY applicationChanged) + public: + enum Roles { + PackageNameRole = Qt::UserRole + }; + + explicit ApplicationAddonsModel(QObject* parent = nullptr); + + AbstractResource* application() const; + void setApplication(AbstractResource* app); + bool hasChanges() const; + + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + QHash roleNames() const override; + bool isEmpty() const; + + public Q_SLOTS: + void discardChanges(); + void applyChanges(); + void changeState(const QString& packageName, bool installed); + + Q_SIGNALS: + void stateChanged(); + void applicationChanged(); + + private: + void transactionOver(Transaction* t); + void resetState(); + + AbstractResource* m_app; + QList m_initial; + AddonList m_state; +}; + +#endif // APPLICATIONADDONSMODEL_H diff --git a/libdiscover/CMakeLists.txt b/libdiscover/CMakeLists.txt new file mode 100644 index 0000000..633a848 --- /dev/null +++ b/libdiscover/CMakeLists.txt @@ -0,0 +1,69 @@ +add_definitions(-DTRANSLATION_DOMAIN=\"libdiscover\") + +add_subdirectory(backends) +add_subdirectory(notifiers) +add_subdirectory(tests) + +set(discovercommon_SRCS + Category/Category.cpp + Category/CategoryModel.cpp + Category/CategoriesReader.cpp + ReviewsBackend/AbstractReviewsBackend.cpp + ReviewsBackend/Rating.cpp + ReviewsBackend/Review.cpp + ReviewsBackend/ReviewsModel.cpp + Transaction/AddonList.cpp + Transaction/Transaction.cpp + Transaction/TransactionListener.cpp + Transaction/TransactionModel.cpp + UpdateModel/UpdateItem.cpp + UpdateModel/UpdateModel.cpp + resources/ResourcesModel.cpp + resources/ResourcesProxyModel.cpp + resources/PackageState.cpp + resources/ResourcesUpdatesModel.cpp + resources/StandardBackendUpdater.cpp + resources/SourcesModel.cpp + resources/AbstractResourcesBackend.cpp + resources/AbstractResource.cpp + resources/AbstractBackendUpdater.cpp + resources/AbstractSourcesBackend.cpp + resources/StoredResultsStream.cpp + CachedNetworkAccessManager.cpp + ActionsModel.cpp + DiscoverBackendsFactory.cpp + ScreenshotsModel.cpp + ApplicationAddonsModel.cpp +) + +ecm_qt_declare_logging_category(discovercommon_SRCS HEADER libdiscover_debug.h IDENTIFIER LIBDISCOVER_LOG CATEGORY_NAME org.kde.plasma.libdiscover) + +if(AppStreamQt_FOUND) + set(discovercommon_SRCS ${discovercommon_SRCS} + appstream/OdrsReviewsBackend.cpp + appstream/AppStreamIntegration.cpp + ) +endif() + +add_library(DiscoverCommon ${discovercommon_SRCS}) + +target_link_libraries(DiscoverCommon +LINK_PUBLIC + Qt5::Core + Qt5::Qml + Qt5::Widgets + KF5::I18n + KF5::ItemModels +LINK_PRIVATE + Qt5::Xml + KF5::KIOCore + KF5::CoreAddons +) +add_library(Discover::Common ALIAS DiscoverCommon) + +generate_export_header(DiscoverCommon) + +target_include_directories(DiscoverCommon PRIVATE ${PHONON_INCLUDES} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) + +install(TARGETS DiscoverCommon DESTINATION ${CMAKE_INSTALL_LIBDIR}/plasma-discover) +install(FILES resources/discoverabstractnotifier.notifyrc DESTINATION ${KNOTIFYRC_INSTALL_DIR}) diff --git a/libdiscover/CachedNetworkAccessManager.cpp b/libdiscover/CachedNetworkAccessManager.cpp new file mode 100644 index 0000000..af7f4e8 --- /dev/null +++ b/libdiscover/CachedNetworkAccessManager.cpp @@ -0,0 +1,51 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "CachedNetworkAccessManager.h" + +#include +#include +#include +#include + +CachedNetworkAccessManager::CachedNetworkAccessManager(const QString &path, QObject *parent) + : QNetworkAccessManager(parent) +{ + const QString cacheDir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1Char('/') + path; + QNetworkDiskCache *cache = new QNetworkDiskCache(this); + QStorageInfo storageInfo(cacheDir); + cache->setCacheDirectory(cacheDir); + cache->setMaximumCacheSize(storageInfo.bytesTotal() / 1000); + setCache(cache); +} + +QNetworkReply * CachedNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) +{ + QNetworkRequest req(request); + req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); + return QNetworkAccessManager::createRequest(op, request, outgoingData); +} + +QNetworkAccessManager * CachedNetworkAccessManagerFactory::create(QObject *parent) +{ + return new CachedNetworkAccessManager(QStringLiteral("images"), parent); +} + diff --git a/libdiscover/CachedNetworkAccessManager.h b/libdiscover/CachedNetworkAccessManager.h new file mode 100644 index 0000000..6c78083 --- /dev/null +++ b/libdiscover/CachedNetworkAccessManager.h @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef CACHEDNETWORKACCESSMANAGER_H +#define CACHEDNETWORKACCESSMANAGER_H + +#include "discovercommon_export.h" + +#include +#include + +class DISCOVERCOMMON_EXPORT CachedNetworkAccessManager : public QNetworkAccessManager +{ +public: + explicit CachedNetworkAccessManager(const QString &path, QObject *parent = nullptr); + + virtual QNetworkReply * createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData = nullptr) override; +}; + +class DISCOVERCOMMON_EXPORT CachedNetworkAccessManagerFactory : public QQmlNetworkAccessManagerFactory +{ + virtual QNetworkAccessManager * create(QObject *parent) override; +}; + +#endif // CACHEDNETWORKACCESSMANAGER_H + diff --git a/libdiscover/Category/CategoriesReader.cpp b/libdiscover/Category/CategoriesReader.cpp new file mode 100644 index 0000000..01883d8 --- /dev/null +++ b/libdiscover/Category/CategoriesReader.cpp @@ -0,0 +1,75 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "CategoriesReader.h" +#include "Category.h" +#include +#include +#include "libdiscover_debug.h" +#include + +#include +#include + +QVector CategoriesReader::loadCategoriesFile(AbstractResourcesBackend* backend) +{ + QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("libdiscover/categories/")+backend->name()+QStringLiteral("-categories.xml")); + if (path.isEmpty()) { + auto cat = backend->category(); + if (cat.isEmpty()) + qCWarning(LIBDISCOVER_LOG) << "Couldn't find a category for " << backend->name(); + + Category::sortCategories(cat); + return cat; + } + return loadCategoriesPath(path); +} + +QVector CategoriesReader::loadCategoriesPath(const QString& path) +{ + QVector ret; + QFile menuFile(path); + if (!menuFile.open(QIODevice::ReadOnly)) { + qCWarning(LIBDISCOVER_LOG) << "couldn't open" << path; + return ret; + } + + QDomDocument menuDocument; + QString error; + int line; + bool correct = menuDocument.setContent(&menuFile, &error, &line); + if(!correct) + qCWarning(LIBDISCOVER_LOG) << "error while parsing the categories file:" << error << " at: " << path << ':' << line; + + QDomElement root = menuDocument.documentElement(); + + QDomNode node = root.firstChild(); + while(!node.isNull()) + { + if (node.nodeType() == QDomNode::ElementNode) { + ret << new Category( {path} ); + ret.last()->parseData(path, node); + } + + node = node.nextSibling(); + } + Category::sortCategories(ret); + return ret; +} diff --git a/libdiscover/Category/CategoriesReader.h b/libdiscover/Category/CategoriesReader.h new file mode 100644 index 0000000..a19cd2d --- /dev/null +++ b/libdiscover/Category/CategoriesReader.h @@ -0,0 +1,36 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef CATEGORIESREADER_H +#define CATEGORIESREADER_H + +#include +#include "discovercommon_export.h" + +class Category; +class AbstractResourcesBackend; +class DISCOVERCOMMON_EXPORT CategoriesReader +{ + public: + QVector loadCategoriesPath(const QString& path); + QVector loadCategoriesFile(AbstractResourcesBackend* backend); +}; + +#endif // CATEGORIESREADER_H diff --git a/libdiscover/Category/Category.cpp b/libdiscover/Category/Category.cpp new file mode 100644 index 0000000..5cfc5f7 --- /dev/null +++ b/libdiscover/Category/Category.cpp @@ -0,0 +1,279 @@ +/*************************************************************************** + * Copyright © 2010 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "Category.h" + +#include + +#include +#include +#include +#include "libdiscover_debug.h" +#include + +Category::Category(QSet pluginName, QObject* parent) + : QObject(parent) + , m_iconString(QStringLiteral("applications-other")) + , m_plugins(std::move(pluginName)) +{} + +Category::Category(const QString& name, const QString& iconName, const QVector >& orFilters, const QSet &pluginName, const QVector& subCategories, const QUrl& decoration, bool isAddons) + : QObject(nullptr) + , m_name(name) + , m_iconString(iconName) + , m_decoration(decoration) + , m_orFilters(orFilters) + , m_subCategories(subCategories) + , m_plugins(pluginName) + , m_isAddons(isAddons) +{ + setObjectName(m_name); +} + +Category::~Category() = default; + +void Category::parseData(const QString& path, const QDomNode& data) +{ + for(QDomNode node = data.firstChild(); !node.isNull(); node = node.nextSibling()) + { + if(!node.isElement()) { + if(!node.isComment()) + qCWarning(LIBDISCOVER_LOG) << "unknown node found at " << QStringLiteral("%1:%2").arg(path).arg(node.lineNumber()); + continue; + } + QDomElement tempElement = node.toElement(); + + if (tempElement.tagName() == QLatin1String("Name")) { + m_name = i18nc("Category", tempElement.text().toUtf8().constData()); + setObjectName(m_name); + } else if (tempElement.tagName() == QLatin1String("Menu")) { + m_subCategories << new Category(m_plugins, this); + m_subCategories.last()->parseData(path, node); + } else if (tempElement.tagName() == QLatin1String("Image")) { + m_decoration = QUrl(tempElement.text()); + if (m_decoration.isRelative()) { + m_decoration = QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("discover/") + tempElement.text())); + if (m_decoration.isEmpty()) + qCWarning(LIBDISCOVER_LOG) << "couldn't find category decoration" << tempElement.text(); + } + } else if (tempElement.tagName() == QLatin1String("Addons")) { + m_isAddons = true; + } else if (tempElement.tagName() == QLatin1String("Icon") && tempElement.hasChildNodes()) { + m_iconString = tempElement.text(); + } else if (tempElement.tagName() == QLatin1String("Include")) { //previous muon format + parseIncludes(tempElement); + } else if (tempElement.tagName() == QLatin1String("Categories")) { //as provided by appstream + parseIncludes(tempElement); + } + } +} + +QVector > Category::parseIncludes(const QDomNode &data) +{ + QDomNode node = data.firstChild(); + QVector > filter; + while(!node.isNull()) + { + QDomElement tempElement = node.toElement(); + + if (tempElement.tagName() == QLatin1String("And")) { + // Parse children + m_andFilters.append(parseIncludes(node)); + } else if (tempElement.tagName() == QLatin1String("Or")) { + m_orFilters.append(parseIncludes(node)); + } else if (tempElement.tagName() == QLatin1String("Not")) { + m_notFilters.append(parseIncludes(node)); + } else if (tempElement.tagName() == QLatin1String("PkgSection")) { + filter.append({ PkgSectionFilter, tempElement.text() }); + } else if (tempElement.tagName() == QLatin1String("Category")) { + filter.append({ CategoryFilter, tempElement.text() }); + } else if (tempElement.tagName() == QLatin1String("PkgWildcard")) { + filter.append({ PkgWildcardFilter, tempElement.text() }); + } else if (tempElement.tagName() == QLatin1String("AppstreamIdWildcard")) { + filter.append({ AppstreamIdWildcardFilter, tempElement.text() }); + } else if (tempElement.tagName() == QLatin1String("PkgName")) { + filter.append({ PkgNameFilter, tempElement.text() }); + } else { + qCWarning(LIBDISCOVER_LOG) << "unknown" << tempElement.tagName(); + } + node = node.nextSibling(); + } + + return filter; +} + +QString Category::name() const +{ + return m_name; +} + +QString Category::icon() const +{ + return m_iconString; +} + +QVector > Category::andFilters() const +{ + return m_andFilters; +} + +QVector > Category::orFilters() const +{ + return m_orFilters; +} + +QVector > Category::notFilters() const +{ + return m_notFilters; +} + +QVector Category::subCategories() const +{ + return m_subCategories; +} + +bool Category::categoryLessThan(Category *c1, const Category *c2) +{ + return (!c1->isAddons() && c2->isAddons()) || (c1->isAddons()==c2->isAddons() && QString::localeAwareCompare(c1->name(), c2->name()) < 0); +} + +static bool isSorted(const QVector& vector) +{ + Category *last = nullptr; + for(auto a: vector) { + if (last && !Category::categoryLessThan(last, a)) + return false; + last = a; + } + return true; +} + +void Category::sortCategories(QVector& cats) +{ + std::sort(cats.begin(), cats.end(), &categoryLessThan); + for(auto cat: cats) { + sortCategories(cat->m_subCategories); + } + Q_ASSERT(isSorted(cats)); +} + +void Category::addSubcategory(QVector< Category* >& list, Category* newcat) +{ + Q_ASSERT(isSorted(list)); + + auto it = std::lower_bound(list.begin(), list.end(), newcat, &categoryLessThan); + if (it == list.end()) { + list << newcat; + return; + } + + auto c = *it; + if(c->name() == newcat->name()) { + if(c->icon() != newcat->icon() + || c->m_andFilters != newcat->m_andFilters + || c->m_isAddons != newcat->m_isAddons + ) + { + qCWarning(LIBDISCOVER_LOG) << "the following categories seem to be the same but they're not entirely" + << c->name() << newcat->name() << "--" + << c->andFilters() << newcat->andFilters() << "--" + << c->isAddons() << newcat->isAddons(); + } else { + c->m_orFilters += newcat->orFilters(); + c->m_notFilters += newcat->notFilters(); + c->m_plugins.unite(newcat->m_plugins); + Q_FOREACH (Category* nc, newcat->subCategories()) { + addSubcategory(c->m_subCategories, nc); + } + return; + } + } + + list.insert(it, newcat); + Q_ASSERT(isSorted(list)); +} + +bool Category::blacklistPluginsInVector(const QSet& pluginNames, QVector& subCategories) +{ + bool ret = false; + for(QVector::iterator it = subCategories.begin(); it!=subCategories.end(); ) { + if ((*it)->blacklistPlugins(pluginNames)) { + delete *it; + it = subCategories.erase(it); + ret = true; + } else + ++it; + } + return ret; +} + +bool Category::blacklistPlugins(const QSet& pluginNames) +{ + if (m_plugins.subtract(pluginNames).isEmpty()) { + return true; + } + + if (blacklistPluginsInVector(pluginNames, m_subCategories)) + Q_EMIT subCategoriesChanged(); + return false; +} + +QUrl Category::decoration() const +{ + if (m_decoration.isEmpty()) { + Category* c = qobject_cast(parent()); + return c ? c->decoration() : QUrl(); + } else { + Q_ASSERT(!m_decoration.isLocalFile() || QFile::exists(m_decoration.toLocalFile())); + return m_decoration; + } +} + +QVariantList Category::subCategoriesVariant() const +{ + return kTransform(m_subCategories, [](Category* cat){ return QVariant::fromValue(cat); }); +} + +bool Category::matchesCategoryName(const QString& name) const +{ + for(const auto &filter: m_orFilters) { + if (filter.first == CategoryFilter && filter.second == name) + return true; + } + return false; +} + +bool Category::contains(Category* cat) const +{ + const bool ret = cat == this || (cat && contains(qobject_cast(cat->parent()))); + return ret; +} + +bool Category::contains(const QVariantList& cats) const +{ + bool ret = false; + for(const auto &itCat : cats) { + if (contains(qobject_cast(itCat.value()))) { + ret = true; + break; + } + } + return ret; +} diff --git a/libdiscover/Category/Category.h b/libdiscover/Category/Category.h new file mode 100644 index 0000000..537b98e --- /dev/null +++ b/libdiscover/Category/Category.h @@ -0,0 +1,96 @@ +/*************************************************************************** + * Copyright © 2010 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef CATEGORY_H +#define CATEGORY_H + +#include +#include +#include +#include +#include + +#include "discovercommon_export.h" + +class QDomNode; + +enum FilterType { + InvalidFilter, + CategoryFilter, + PkgSectionFilter, + PkgWildcardFilter, + PkgNameFilter, + AppstreamIdWildcardFilter +}; + +class DISCOVERCOMMON_EXPORT Category : public QObject +{ +Q_OBJECT +public: + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QString icon READ icon CONSTANT) + Q_PROPERTY(QObject* parent READ parent CONSTANT) + Q_PROPERTY(QUrl decoration READ decoration CONSTANT) + Q_PROPERTY(QVariantList subcategories READ subCategoriesVariant NOTIFY subCategoriesChanged) + explicit Category(QSet pluginNames, QObject* parent = nullptr); + + Category(const QString& name, const QString& iconName, const QVector< QPair< FilterType, QString > >& orFilters, const QSet &pluginName, const QVector& subCategories, const QUrl& decoration, bool isAddons); + ~Category() override; + + QString name() const; + QString icon() const; + QVector > andFilters() const; + QVector > orFilters() const; + QVector > notFilters() const; + QVector subCategories() const; + QVariantList subCategoriesVariant() const; + + static void sortCategories(QVector& cats); + static void addSubcategory(QVector& cats, Category* cat); + void parseData(const QString& path, const QDomNode& data); + bool blacklistPlugins(const QSet& pluginName); + bool isAddons() const { return m_isAddons; } + QUrl decoration() const; + bool matchesCategoryName(const QString &name) const; + + Q_SCRIPTABLE bool contains(Category* cat) const; + Q_SCRIPTABLE bool contains(const QVariantList &cats) const; + + static bool categoryLessThan(Category *c1, const Category *c2); + static bool blacklistPluginsInVector(const QSet& pluginNames, QVector& subCategories); + +Q_SIGNALS: + void subCategoriesChanged(); + +private: + QString m_name; + QString m_iconString; + QUrl m_decoration; + QVector > m_andFilters; + QVector > m_orFilters; + QVector > m_notFilters; + QVector m_subCategories; + + QVector > parseIncludes(const QDomNode &data); + QSet m_plugins; + bool m_isAddons = false; +}; + +#endif diff --git a/libdiscover/Category/CategoryModel.cpp b/libdiscover/Category/CategoryModel.cpp new file mode 100644 index 0000000..87480e8 --- /dev/null +++ b/libdiscover/Category/CategoryModel.cpp @@ -0,0 +1,106 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +// Own includes +#include "CategoryModel.h" +#include "Category.h" +#include "CategoriesReader.h" +#include "libdiscover_debug.h" +#include +#include +#include + +CategoryModel::CategoryModel(QObject* parent) + : QObject(parent) +{ + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &CategoryModel::populateCategories); +} + +CategoryModel * CategoryModel::global() +{ + static CategoryModel *instance = nullptr; + if (!instance) { + instance = new CategoryModel; + } + return instance; +} + +void CategoryModel::populateCategories() +{ + const auto backends = ResourcesModel::global()->backends(); + + QVector ret; + CategoriesReader cr; + Q_FOREACH (const auto backend, backends) { + if (!backend->isValid()) + continue; + + const QVector cats = cr.loadCategoriesFile(backend); + + if(ret.isEmpty()) { + ret = cats; + } else { + Q_FOREACH (Category* c, cats) + Category::addSubcategory(ret, c); + } + } + if (m_rootCategories != ret) { + m_rootCategories = ret; + Q_EMIT rootCategoriesChanged(); + } +} + +QVariantList CategoryModel::rootCategoriesVL() const +{ + return kTransform(m_rootCategories, [](Category* cat) {return qVariantFromValue(cat); }); +} + +void CategoryModel::blacklistPlugin(const QString &name) +{ + const bool ret = Category::blacklistPluginsInVector({name}, m_rootCategories); + if (ret) { + Q_EMIT rootCategoriesChanged(); + } +} + +static Category* recFindCategory(Category* root, const QString& name) +{ + if(root->name()==name) + return root; + else { + const auto subs = root->subCategories(); + Q_FOREACH (Category* c, subs) { + Category* ret = recFindCategory(c, name); + if(ret) + return ret; + } + } + return nullptr; +} + +Category* CategoryModel::findCategoryByName(const QString& name) const +{ + for (Category* cat: m_rootCategories) { + Category* ret = recFindCategory(cat, name); + if(ret) + return ret; + } + return nullptr; +} diff --git a/libdiscover/Category/CategoryModel.h b/libdiscover/Category/CategoryModel.h new file mode 100644 index 0000000..3fced13 --- /dev/null +++ b/libdiscover/Category/CategoryModel.h @@ -0,0 +1,52 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef CATEGORYMODEL_H +#define CATEGORYMODEL_H + +#include +#include +#include "Category.h" + +#include "discovercommon_export.h" + +class DISCOVERCOMMON_EXPORT CategoryModel : public QObject +{ + Q_OBJECT + Q_PROPERTY(QVariantList rootCategories READ rootCategoriesVL NOTIFY rootCategoriesChanged) + public: + explicit CategoryModel(QObject* parent = nullptr); + + static CategoryModel* global(); + + Q_SCRIPTABLE Category* findCategoryByName(const QString& name) const; + void blacklistPlugin(const QString& name); + QVector rootCategories() const { return m_rootCategories; } + QVariantList rootCategoriesVL() const; + void populateCategories(); + + Q_SIGNALS: + void rootCategoriesChanged(); + + private: + QVector m_rootCategories; +}; + +#endif // CATEGORYMODEL_H diff --git a/libdiscover/DiscoverBackendsFactory.cpp b/libdiscover/DiscoverBackendsFactory.cpp new file mode 100644 index 0000000..d14ec99 --- /dev/null +++ b/libdiscover/DiscoverBackendsFactory.cpp @@ -0,0 +1,126 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DiscoverBackendsFactory.h" +#include "resources/AbstractResourcesBackend.h" +#include "resources/ResourcesModel.h" +#include "utils.h" +#include "libdiscover_debug.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +Q_GLOBAL_STATIC(QStringList, s_requestedBackends) + +void DiscoverBackendsFactory::setRequestedBackends(const QStringList& backends) +{ + *s_requestedBackends = backends; +} + +DiscoverBackendsFactory::DiscoverBackendsFactory() +{} + +QVector DiscoverBackendsFactory::backend(const QString& name) const +{ + if (QDir::isAbsolutePath(name) && QStandardPaths::isTestModeEnabled()) { + return backendForFile(name, QFileInfo(name).fileName()); + } else { + return backendForFile(name, name); + } +} + +QVector DiscoverBackendsFactory::backendForFile(const QString& libname, const QString& name) const +{ + QPluginLoader* loader = new QPluginLoader(QStringLiteral("discover/") + libname, ResourcesModel::global()); + + // qCDebug(LIBDISCOVER_LOG) << "trying to load plugin:" << loader->fileName(); + AbstractResourcesBackendFactory* f = qobject_cast(loader->instance()); + if(!f) { + qCWarning(LIBDISCOVER_LOG) << "error loading" << libname << loader->errorString() << loader->metaData(); + return {}; + } + auto instances = f->newInstance(ResourcesModel::global(), name); + if(instances.isEmpty()) { + qCWarning(LIBDISCOVER_LOG) << "Couldn't find the backend: " << libname << "among" << allBackendNames(false, true); + return instances; + } + + return instances; +} + +QStringList DiscoverBackendsFactory::allBackendNames(bool whitelist, bool allowDummy) const +{ + if (whitelist) { + QStringList whitelistNames = *s_requestedBackends; + if (!whitelistNames.isEmpty()) + return whitelistNames; + } + + QStringList pluginNames; + foreach (const QString &dir, QCoreApplication::libraryPaths()) { + QDirIterator it(dir + QStringLiteral("/discover"), QDir::Files); + while (it.hasNext()) { + it.next(); + if (QLibrary::isLibrary(it.fileName()) && (allowDummy || it.fileName() != QLatin1String("dummy-backend.so"))) { + pluginNames += it.fileInfo().baseName(); + } + } + } + + pluginNames.removeDuplicates(); //will happen when discover is installed twice on the system + return pluginNames; +} + +QVector DiscoverBackendsFactory::allBackends() const +{ + QStringList names = allBackendNames(); + auto ret = kTransform>(names, [this](const QString& name) { return backend(name); }); + ret.removeAll(nullptr); + + if(ret.isEmpty()) + qCWarning(LIBDISCOVER_LOG) << "Didn't find any Discover backend!"; + return ret; +} + +int DiscoverBackendsFactory::backendsCount() const +{ + return allBackendNames().count(); +} + +void DiscoverBackendsFactory::setupCommandLine(QCommandLineParser* parser) +{ + parser->addOption(QCommandLineOption(QStringLiteral("backends"), i18n("List all the backends we'll want to have loaded, separated by comma ','."), QStringLiteral("names"))); +} + +void DiscoverBackendsFactory::processCommandLine(QCommandLineParser* parser, bool test) +{ + QStringList backends = test ? QStringList{ QStringLiteral("dummy-backend") } : parser->value(QStringLiteral("backends")).split(QLatin1Char(','), QString::SkipEmptyParts); + for(auto &backend: backends) { + if (!backend.endsWith(QLatin1String("-backend"))) + backend.append(QLatin1String("-backend")); + } + *s_requestedBackends = backends; +} diff --git a/libdiscover/DiscoverBackendsFactory.h b/libdiscover/DiscoverBackendsFactory.h new file mode 100644 index 0000000..dd3e3e5 --- /dev/null +++ b/libdiscover/DiscoverBackendsFactory.h @@ -0,0 +1,50 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DISCOVERBACKENDSFACTORY_H +#define DISCOVERBACKENDSFACTORY_H + +#include "discovercommon_export.h" +#include + +class QCommandLineParser; +class QStringList; +class KPluginInfo; +class AbstractResourcesBackend; + +class DISCOVERCOMMON_EXPORT DiscoverBackendsFactory +{ +public: + DiscoverBackendsFactory(); + + QVector backend(const QString& name) const; + QVector allBackends() const; + QStringList allBackendNames(bool whitelist = true, bool allowDummy = false) const; + int backendsCount() const; + + static void setupCommandLine(QCommandLineParser* parser); + static void processCommandLine(QCommandLineParser* parser, bool test); + static void setRequestedBackends(const QStringList &backends); + +private: + QVector backendForFile(const QString& path, const QString& name) const; +}; + +#endif // MUONBACKENDSFACTORY_H diff --git a/libdiscover/ReviewsBackend/AbstractReviewsBackend.cpp b/libdiscover/ReviewsBackend/AbstractReviewsBackend.cpp new file mode 100644 index 0000000..401f85b --- /dev/null +++ b/libdiscover/ReviewsBackend/AbstractReviewsBackend.cpp @@ -0,0 +1,35 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez . * + ***************************************************************************/ + +#include "AbstractReviewsBackend.h" + +AbstractReviewsBackend::AbstractReviewsBackend(QObject* parent) + : QObject(parent) +{} + +bool AbstractReviewsBackend::isReviewable() const +{ + return true; +} + +QString AbstractReviewsBackend::errorMessage() const +{ + return QString(); +} diff --git a/libdiscover/ReviewsBackend/AbstractReviewsBackend.h b/libdiscover/ReviewsBackend/AbstractReviewsBackend.h new file mode 100644 index 0000000..58704dd --- /dev/null +++ b/libdiscover/ReviewsBackend/AbstractReviewsBackend.h @@ -0,0 +1,65 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez . * + ***************************************************************************/ + +#ifndef ABSTRACTREVIEWSBACKEND_H +#define ABSTRACTREVIEWSBACKEND_H + +#include + +#include "ReviewsModel.h" + +class Rating; +class AbstractResource; + +class DISCOVERCOMMON_EXPORT AbstractReviewsBackend : public QObject +{ + Q_OBJECT + Q_PROPERTY(bool isReviewable READ isReviewable CONSTANT) + Q_PROPERTY(bool hasCredentials READ hasCredentials NOTIFY loginStateChanged) + Q_PROPERTY(QString userName READ userName NOTIFY loginStateChanged) + public: + explicit AbstractReviewsBackend(QObject* parent = nullptr); + + virtual QString userName() const = 0; + virtual bool hasCredentials() const = 0; + + Q_SCRIPTABLE virtual Rating *ratingForApplication(AbstractResource *app) const = 0; + Q_INVOKABLE virtual QString errorMessage() const; + Q_INVOKABLE virtual bool isResourceSupported(AbstractResource *res) const = 0; + virtual bool isFetching() const = 0; + virtual bool isReviewable() const; + + public Q_SLOTS: + virtual void login() = 0; + virtual void registerAndLogin() = 0; + virtual void logout() = 0; + virtual void submitUsefulness(Review* r, bool useful) = 0; + virtual void submitReview(AbstractResource* app, const QString& summary, + const QString& review_text, const QString& rating) = 0; + virtual void deleteReview(Review* r) = 0; + virtual void flagReview(Review* r, const QString& reason, const QString &text) = 0; + virtual void fetchReviews(AbstractResource* app, int page=1) = 0; + + Q_SIGNALS: + void reviewsReady(AbstractResource *app, const QVector &reviews, bool canFetchMore); + void loginStateChanged(); +}; + +#endif // ABSTRACTREVIEWSBACKEND_H diff --git a/libdiscover/ReviewsBackend/Rating.cpp b/libdiscover/ReviewsBackend/Rating.cpp new file mode 100644 index 0000000..87590e1 --- /dev/null +++ b/libdiscover/ReviewsBackend/Rating.cpp @@ -0,0 +1,150 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "Rating.h" +#include +#include "libdiscover_debug.h" +#include + +inline double fastPow(double a, double b) { + union { + double d; + int x[2]; + } u = { a }; + +#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN + u.x[1] = (int)(b * (u.x[1] - 1072632447) + 1072632447); + u.x[0] = 0; +#else + u.x[1] = 0; + u.x[0] = (int)(b * (u.x[1] - 1072632447) + 1072632447); +#endif + + return u.d; +} + +// Converted from a Ruby example, returns an inverse normal distribution +double pnormaldist(double qn) +{ + double b[] = {1.570796288, 0.03706987906, -0.8364353589e-3, -0.2250947176e-3, 0.6841218299e-5, 0.5824238515e-5, -0.104527497e-5, 0.8360937017e-7, -0.3231081277e-8, 0.3657763036e-10, 0.6936233982e-12}; + + if(qn < 0.0 || 1.0 < qn) + return 0.0; + + if(qn == 0.5) + return 0.0; + + double w1 = qn; + if(qn > 0.5) + w1 = 1.0 - w1; + double w3 = -qLn(4.0 * w1 * (1.0 - w1)); + w1 = b[0]; + + for(int i = 1; i < 11; i++) + w1 += b[i] * fastPow(w3,i); + + if(qn > 0.5) + return qSqrt(w1*w3); + return -qSqrt(w1*w3); +} + +double wilson_score(int pos, int n, double power = 0.2) +{ + if (n == 0) + return 0; + + double z = pnormaldist(1 - power / 2); + double phat = 1.0 * pos / n; + return (phat + z * z / (2 * n) - z * qSqrt( + (phat * (1 - phat) + z * z / (4 * n)) / n)) / (1 + z * z / n); +} + +double dampenedRating(const QVector &ratings, double power = 0.1) +{ + if (ratings.count() != 5) + return 0; + + int tot_ratings = 0; + Q_FOREACH (const int rating, ratings) + tot_ratings = rating + tot_ratings; + + double sum_scores = 0.0; + + for (int i = 0; i < ratings.count(); i++) { + const int rating = ratings.at(i); + double ws = wilson_score(rating, tot_ratings, power); + sum_scores = sum_scores + float((i + 1) - 3) * ws; + } + + return sum_scores + 3; +} + +Rating::Rating(const QString &packageName, quint64 ratingCount, const QVariantMap &data) + : QObject() + , m_packageName(packageName) + , m_ratingCount(ratingCount) + // TODO consider storing this and present in UI + , m_rating(((data.value(QStringLiteral("star1")).toInt() + (data.value(QStringLiteral("star2")).toInt() * 2) + + (data.value(QStringLiteral("star3")).toInt() * 3) + (data.value(QStringLiteral("star4")).toInt() * 4) + + (data.value(QStringLiteral("star5")).toInt() * 5)) * 2) / qMax(1, ratingCount)) + , m_ratingPoints(0) + , m_sortableRating(0) +{ + const QVector histo = { data.value(QStringLiteral("star1")).toInt(), data.value(QStringLiteral("star2")).toInt(), + data.value(QStringLiteral("star3")).toInt(), data.value(QStringLiteral("star4")).toInt(), + data.value(QStringLiteral("star5")).toInt() }; + QVector spread; + spread.reserve(histo.size()); + + for(int i=0; i * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef RATING_H +#define RATING_H + +#include +#include + +#include "discovercommon_export.h" + +class DISCOVERCOMMON_EXPORT Rating : public QObject +{ +Q_OBJECT +Q_PROPERTY(double sortableRating READ sortableRating CONSTANT) +Q_PROPERTY(float rating READ rating CONSTANT) +Q_PROPERTY(int ratingPoints READ ratingPoints CONSTANT) +Q_PROPERTY(quint64 ratingCount READ ratingCount CONSTANT) +public: + explicit Rating(const QString &packageName, quint64 ratingCount, const QVariantMap &data); + ~Rating() override; + + QString packageName() const; + quint64 ratingCount() const; + // 0.0 - 10.0 ranged rating + float rating() const; + int ratingPoints() const; + // Returns a dampened rating calculated with the Wilson Score Interval algorithm + double sortableRating() const; + +private: + const QString m_packageName; + const quint64 m_ratingCount; + const float m_rating; + int m_ratingPoints; + double m_sortableRating; +}; + +#endif diff --git a/libdiscover/ReviewsBackend/Review.cpp b/libdiscover/ReviewsBackend/Review.cpp new file mode 100644 index 0000000..412304a --- /dev/null +++ b/libdiscover/ReviewsBackend/Review.cpp @@ -0,0 +1,138 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "Review.h" +#include + +Review::Review(QString name, QString pkgName, QString language, QString summary, + QString reviewText, QString userName, const QDateTime& date, bool show, quint64 id, + int rating, int usefulTotal, int usefulFavorable, QString packageVersion) + : m_appName(std::move(name)) + , m_creationDate(date) + , m_shouldShow(show) + , m_id(id) + , m_language(std::move(language)) + , m_packageName(std::move(pkgName)) + , m_rating(rating) + , m_reviewText(std::move(reviewText)) + , m_reviewer(std::move(userName)) + , m_usefulnessTotal(usefulTotal) + , m_usefulnessFavorable(usefulFavorable) + , m_usefulChoice(ReviewsModel::None) + , m_summary(std::move(summary)) + , m_packageVersion(std::move(packageVersion)) +{} + +Review::~Review() = default; + +bool Review::operator<(const Review &other) const +{ + return m_creationDate < other.m_creationDate; +} + +bool Review::operator>(const Review &other) const +{ + return m_creationDate > other.m_creationDate; +} + +QString Review::applicationName() const +{ + return m_appName; +} + +QString Review::packageName() const +{ + return m_packageName; +} + +QString Review::packageVersion() const +{ + return m_packageVersion; +} + +QString Review::language() const +{ + return m_language; +} + +QString Review::summary() const +{ + return m_summary; +} + +QString Review::reviewText() const +{ + return m_reviewText; +} + +QString Review::reviewer() const +{ + return m_reviewer; +} + +QDateTime Review::creationDate() const +{ + return m_creationDate; +} + +bool Review::shouldShow() const +{ + return m_shouldShow; +} + +quint64 Review::id() const +{ + return m_id; +} + +int Review::rating() const +{ + return m_rating; +} + +int Review::usefulnessTotal() const +{ + return m_usefulnessTotal; +} + +int Review::usefulnessFavorable() const +{ + return m_usefulnessFavorable; +} + +ReviewsModel::UserChoice Review::usefulChoice() const +{ + return m_usefulChoice; +} + +void Review::setUsefulChoice(ReviewsModel::UserChoice useful) +{ + m_usefulChoice = useful; +} + +void Review::addMetadata(const QString &key, const QVariant &value) +{ + m_metadata.insert(key, value); +} + +QVariant Review::getMetadata(const QString &key) +{ + return m_metadata.value(key); +} diff --git a/libdiscover/ReviewsBackend/Review.h b/libdiscover/ReviewsBackend/Review.h new file mode 100644 index 0000000..12f63e4 --- /dev/null +++ b/libdiscover/ReviewsBackend/Review.h @@ -0,0 +1,80 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef REVIEW_H +#define REVIEW_H + +#include +#include + +#include "ReviewsModel.h" +#include "discovercommon_export.h" + +class AbstractResource; + +class DISCOVERCOMMON_EXPORT Review +{ +public: + Review(QString name, QString pkgName, QString language, QString summary, + QString reviewText, QString userName, const QDateTime& date, bool show, quint64 id, + int rating, int usefulTotal, int usefulFavorable, QString packageVersion); + ~Review(); + + // Creation date determines greater than/less than + bool operator<(const Review &rhs) const; + bool operator>(const Review &rhs) const; + + QString applicationName() const; + QString packageName() const; + QString packageVersion() const; + QString language() const; + QString summary() const; + QString reviewText() const; + QString reviewer() const; + QDateTime creationDate() const; + bool shouldShow() const; + quint64 id() const; + int rating() const; + int usefulnessTotal() const; + int usefulnessFavorable() const; + ReviewsModel::UserChoice usefulChoice() const; + void setUsefulChoice(ReviewsModel::UserChoice useful); + void addMetadata(const QString &key, const QVariant &value); + QVariant getMetadata(const QString &key); + +private: + QString m_appName; + QDateTime m_creationDate; + bool m_shouldShow; + quint64 m_id; + QString m_language; + QString m_packageName; + int m_rating; + QString m_reviewText; + QString m_reviewer; + int m_usefulnessTotal; + int m_usefulnessFavorable; + ReviewsModel::UserChoice m_usefulChoice; + QString m_summary; + QString m_packageVersion; + QVariantMap m_metadata; +}; + +#endif diff --git a/libdiscover/ReviewsBackend/ReviewsModel.cpp b/libdiscover/ReviewsBackend/ReviewsModel.cpp new file mode 100644 index 0000000..0210ee3 --- /dev/null +++ b/libdiscover/ReviewsBackend/ReviewsModel.cpp @@ -0,0 +1,181 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include "libdiscover_debug.h" + +ReviewsModel::ReviewsModel(QObject* parent) + : QAbstractListModel(parent) + , m_app(nullptr) + , m_backend(nullptr) + , m_lastPage(0) + , m_canFetchMore(true) +{} + +ReviewsModel::~ReviewsModel() = default; + +QHash< int, QByteArray > ReviewsModel::roleNames() const +{ + QHash roles = QAbstractItemModel::roleNames(); + roles.insert(ShouldShow, "shouldShow"); + roles.insert(Reviewer, "reviewer"); + roles.insert(CreationDate, "date"); + roles.insert(UsefulnessTotal, "usefulnessTotal"); + roles.insert(UsefulnessFavorable, "usefulnessFavorable"); + roles.insert(UsefulChoice, "usefulChoice"); + roles.insert(Rating, "rating"); + roles.insert(Summary, "summary"); + return roles; +} + +QVariant ReviewsModel::data(const QModelIndex& index, int role) const +{ + if(!index.isValid()) + return QVariant(); + switch(role) { + case Qt::DisplayRole: + return m_reviews.at(index.row())->reviewText(); + case ShouldShow: + return m_reviews.at(index.row())->shouldShow(); + case Reviewer: + return m_reviews.at(index.row())->reviewer(); + case CreationDate: + return m_reviews.at(index.row())->creationDate(); + case UsefulnessTotal: + return m_reviews.at(index.row())->usefulnessTotal(); + case UsefulnessFavorable: + return m_reviews.at(index.row())->usefulnessFavorable(); + case UsefulChoice: + return m_reviews.at(index.row())->usefulChoice(); + case Rating: + return m_reviews.at(index.row())->rating(); + case Summary: + return m_reviews.at(index.row())->summary(); + } + return QVariant(); +} + +int ReviewsModel::rowCount(const QModelIndex& parent) const +{ + if(parent.isValid()) + return 0; + return m_reviews.count(); +} + +AbstractResource* ReviewsModel::resource() const +{ + return m_app; +} + +AbstractReviewsBackend* ReviewsModel::backend() const +{ + return m_backend; +} + +void ReviewsModel::setResource(AbstractResource* app) +{ + if(m_app!=app) { + beginResetModel(); + m_reviews.clear(); + m_lastPage = 0; + + if(m_backend) { + disconnect(m_backend, &AbstractReviewsBackend::reviewsReady, this, &ReviewsModel::addReviews); + } + m_app = app; + m_backend = app ? app->backend()->reviewsBackend() : nullptr; + if(m_backend) { + connect(m_backend, &AbstractReviewsBackend::reviewsReady, this, &ReviewsModel::addReviews); + + QMetaObject::invokeMethod(this, "restartFetching", Qt::QueuedConnection); + } + endResetModel(); + emit rowsChanged(); + emit resourceChanged(); + } +} + +void ReviewsModel::restartFetching() +{ + if(!m_app || !m_backend) + return; + + m_canFetchMore=true; + m_lastPage = 0; + fetchMore(); + emit rowsChanged(); +} + +void ReviewsModel::fetchMore(const QModelIndex& parent) +{ + if(!m_backend || !m_app || parent.isValid() || m_backend->isFetching() || !m_canFetchMore) + return; + + m_lastPage++; + m_backend->fetchReviews(m_app, m_lastPage); +// qCDebug(LIBDISCOVER_LOG) << "fetching reviews... " << m_lastPage; +} + +void ReviewsModel::addReviews(AbstractResource* app, const QVector& reviews, bool canFetchMore) +{ + if(app!=m_app) + return; + + m_canFetchMore = canFetchMore; +// qCDebug(LIBDISCOVER_LOG) << "reviews arrived..." << m_lastPage << reviews.size(); + + if(!reviews.isEmpty()) { + beginInsertRows(QModelIndex(), rowCount(), rowCount()+reviews.size()-1); + m_reviews += reviews; + endInsertRows(); + emit rowsChanged(); + } +} + +bool ReviewsModel::canFetchMore(const QModelIndex& /*parent*/) const +{ + return m_canFetchMore; +} + +void ReviewsModel::markUseful(int row, bool useful) +{ + Review* r = m_reviews[row].data(); + r->setUsefulChoice(useful ? Yes : No); +// qCDebug(LIBDISCOVER_LOG) << "submitting usefulness" << r->applicationName() << r->id() << useful; + m_backend->submitUsefulness(r, useful); + const QModelIndex ind = index(row, 0, QModelIndex()); + emit dataChanged(ind, ind, {UsefulnessTotal, UsefulnessFavorable, UsefulChoice}); +} + +void ReviewsModel::deleteReview(int row) +{ + Review* r = m_reviews[row].data(); + m_backend->deleteReview(r); +} + +void ReviewsModel::flagReview(int row, const QString& reason, const QString& text) +{ + Review* r = m_reviews[row].data(); + m_backend->flagReview(r, reason, text); +} diff --git a/libdiscover/ReviewsBackend/ReviewsModel.h b/libdiscover/ReviewsBackend/ReviewsModel.h new file mode 100644 index 0000000..c3ba337 --- /dev/null +++ b/libdiscover/ReviewsBackend/ReviewsModel.h @@ -0,0 +1,91 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef REVIEWSMODEL_H +#define REVIEWSMODEL_H + +#include +#include +#include "discovercommon_export.h" + +class Review; +typedef QSharedPointer ReviewPtr; + +class AbstractResource; +class AbstractReviewsBackend; +class DISCOVERCOMMON_EXPORT ReviewsModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(AbstractReviewsBackend* backend READ backend NOTIFY resourceChanged) + Q_PROPERTY(AbstractResource* resource READ resource WRITE setResource NOTIFY resourceChanged) + Q_PROPERTY(int count READ rowCount NOTIFY rowsChanged) + public: + enum Roles { + ShouldShow=Qt::UserRole+1, + Reviewer, + CreationDate, + UsefulnessTotal, + UsefulnessFavorable, + UsefulChoice, + Rating, + Summary + }; + enum UserChoice { + None, + Yes, + No + }; + Q_ENUM(UserChoice) + + explicit ReviewsModel(QObject* parent = nullptr); + ~ReviewsModel() override; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + + AbstractReviewsBackend* backend() const; + void setResource(AbstractResource* app); + AbstractResource* resource() const; + void fetchMore(const QModelIndex& parent=QModelIndex()) override; + bool canFetchMore(const QModelIndex& /*parent*/) const override; + QHash roleNames() const override; + + public Q_SLOTS: + void deleteReview(int row); + void flagReview(int row, const QString& reason, const QString& text); + void markUseful(int row, bool useful); + + private Q_SLOTS: + void addReviews(AbstractResource* app, const QVector& reviews, bool canFetchMore); + void restartFetching(); + + Q_SIGNALS: + void rowsChanged(); + void resourceChanged(); + + private: + AbstractResource* m_app; + AbstractReviewsBackend* m_backend; + QVector m_reviews; + int m_lastPage; + bool m_canFetchMore; +}; + +#endif // REVIEWSMODEL_H + diff --git a/libdiscover/ScreenshotsModel.cpp b/libdiscover/ScreenshotsModel.cpp new file mode 100644 index 0000000..e40f856 --- /dev/null +++ b/libdiscover/ScreenshotsModel.cpp @@ -0,0 +1,101 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "ScreenshotsModel.h" +#include +#include "libdiscover_debug.h" +// #include + +ScreenshotsModel::ScreenshotsModel(QObject* parent) + : QAbstractListModel(parent) + , m_resource(nullptr) +{} + +QHash< int, QByteArray > ScreenshotsModel::roleNames() const +{ + QHash roles = QAbstractItemModel::roleNames(); + roles.insert(ThumbnailUrl, "small_image_url"); + roles.insert(ScreenshotUrl, "large_image_url"); + return roles; +} + +void ScreenshotsModel::setResource(AbstractResource* res) +{ + if(res == m_resource) + return; + + if(m_resource) { + disconnect(m_resource, &AbstractResource::screenshotsFetched, this, &ScreenshotsModel::screenshotsFetched); + } + m_resource = res; + Q_EMIT resourceChanged(res); + + if(res) { + connect(m_resource, &AbstractResource::screenshotsFetched, this, &ScreenshotsModel::screenshotsFetched); + res->fetchScreenshots(); + } else + qCWarning(LIBDISCOVER_LOG) << "empty resource!"; +} + +AbstractResource* ScreenshotsModel::resource() const +{ + return m_resource; +} + +void ScreenshotsModel::screenshotsFetched(const QList< QUrl >& thumbnails, const QList< QUrl >& screenshots) +{ + Q_ASSERT(thumbnails.count()==screenshots.count()); + if (thumbnails.isEmpty()) + return; + + beginInsertRows(QModelIndex(), m_thumbnails.size(), m_thumbnails.size()+thumbnails.size()-1); + m_thumbnails += thumbnails; + m_screenshots += screenshots; + endInsertRows(); + emit countChanged(); +} + +QVariant ScreenshotsModel::data(const QModelIndex& index, int role) const +{ + if(!index.isValid() || index.parent().isValid()) + return QVariant(); + + switch(role) { + case ThumbnailUrl: return m_thumbnails[index.row()]; + case ScreenshotUrl: return m_screenshots[index.row()]; + } + + return QVariant(); +} + +int ScreenshotsModel::rowCount(const QModelIndex& parent) const +{ + return !parent.isValid() ? m_screenshots.count() : 0; +} + +QUrl ScreenshotsModel::screenshotAt(int row) const +{ + return m_screenshots[row]; +} + +int ScreenshotsModel::count() const +{ + return m_screenshots.count(); +} diff --git a/libdiscover/ScreenshotsModel.h b/libdiscover/ScreenshotsModel.h new file mode 100644 index 0000000..495b4de --- /dev/null +++ b/libdiscover/ScreenshotsModel.h @@ -0,0 +1,63 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef SCREENSHOTSMODEL_H +#define SCREENSHOTSMODEL_H + +#include +#include +#include "discovercommon_export.h" + +class AbstractResource; + +class DISCOVERCOMMON_EXPORT ScreenshotsModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(AbstractResource* application READ resource WRITE setResource NOTIFY resourceChanged) + Q_PROPERTY(int count READ count NOTIFY countChanged) + public: + enum Roles { ThumbnailUrl=Qt::UserRole+1, ScreenshotUrl }; + + explicit ScreenshotsModel(QObject* parent = nullptr); + QHash roleNames() const override; + + AbstractResource* resource() const; + void setResource(AbstractResource* res); + + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + Q_SCRIPTABLE QUrl screenshotAt(int row) const; + int count() const; + + private Q_SLOTS: + void screenshotsFetched(const QList& thumbnails, const QList& screenshots); + + Q_SIGNALS: + void countChanged(); + void resourceChanged(const AbstractResource* resource); + + private: + AbstractResource* m_resource; + QList m_thumbnails; + QList m_screenshots; + +}; + +#endif // SCREENSHOTSMODEL_H diff --git a/libdiscover/Transaction/AddonList.cpp b/libdiscover/Transaction/AddonList.cpp new file mode 100644 index 0000000..15c77ac --- /dev/null +++ b/libdiscover/Transaction/AddonList.cpp @@ -0,0 +1,83 @@ +/*************************************************************************** + * Copyright © 2012 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AddonList.h" +#include "libdiscover_debug.h" + +AddonList::AddonList() +{} + +bool AddonList::isEmpty() const +{ + return m_toInstall.isEmpty() && m_toRemove.isEmpty(); +} + +QStringList AddonList::addonsToInstall() const +{ + return m_toInstall; +} + +QStringList AddonList::addonsToRemove() const +{ + return m_toRemove; +} + +void AddonList::addAddon(const QString &addon, bool toInstall) +{ + if (toInstall) { + m_toInstall.append(addon); + m_toRemove.removeAll(addon); + } else { + m_toInstall.removeAll(addon); + m_toRemove.append(addon); + } +} + +void AddonList::resetAddon(const QString &addon) +{ + m_toInstall.removeAll(addon); + m_toRemove.removeAll(addon); +} + +void AddonList::clear() +{ + m_toInstall.clear(); + m_toRemove.clear(); +} + +AddonList::State AddonList::addonState(const QString& addonName) const +{ + if(m_toInstall.contains(addonName)) + return ToInstall; + else if(m_toRemove.contains(addonName)) + return ToRemove; + else + return None; +} + +QDebug operator<<(QDebug debug, const AddonList& addons) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "AddonsList("; + debug.nospace() << "install:" << addons.addonsToInstall() << ','; + debug.nospace() << "remove:" << addons.addonsToRemove() << ','; + debug.nospace() << ')'; + return debug; +} diff --git a/libdiscover/Transaction/AddonList.h b/libdiscover/Transaction/AddonList.h new file mode 100644 index 0000000..0ddff8b --- /dev/null +++ b/libdiscover/Transaction/AddonList.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright © 2012 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ADDONLIST_H +#define ADDONLIST_H + +#include +#include + +#include "discovercommon_export.h" + +class DISCOVERCOMMON_EXPORT AddonList +{ +public: + enum State { + None, + ToInstall, + ToRemove + }; + AddonList(); + AddonList(const AddonList &other) = default; + + bool isEmpty() const; + QStringList addonsToInstall() const; + QStringList addonsToRemove() const; + State addonState(const QString& addonName) const; + + void addAddon(const QString &addon, bool toInstall); + void resetAddon(const QString &addon); + void clear(); + +private: + QStringList m_toInstall; + QStringList m_toRemove; +}; + +DISCOVERCOMMON_EXPORT QDebug operator<<(QDebug dbg, const AddonList& addons); + +#endif // ADDONLIST_H diff --git a/libdiscover/Transaction/Transaction.cpp b/libdiscover/Transaction/Transaction.cpp new file mode 100644 index 0000000..90e115d --- /dev/null +++ b/libdiscover/Transaction/Transaction.cpp @@ -0,0 +1,149 @@ +/*************************************************************************** + * Copyright © 2012 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "Transaction.h" + +#include +#include "TransactionModel.h" +#include +#include +#include "libdiscover_debug.h" + +Transaction::Transaction(QObject *parent, AbstractResource *resource, + Role role, const AddonList& addons) + : QObject(parent) + , m_resource(resource) + , m_role(role) + , m_status(CommittingStatus) + , m_addons(addons) + , m_isCancellable(true) + , m_progress(0) +{ +} + +Transaction::~Transaction() +{ + if(status()contains(this)) { + qCWarning(LIBDISCOVER_LOG) << "destroying Transaction before it's over" << this; + TransactionModel::global()->removeTransaction(this); + } +} + +AbstractResource *Transaction::resource() const +{ + return m_resource; +} + +Transaction::Role Transaction::role() const +{ + return m_role; +} + +Transaction::Status Transaction::status() const +{ + return m_status; +} + +AddonList Transaction::addons() const +{ + return m_addons; +} + +bool Transaction::isCancellable() const +{ + return m_isCancellable; +} + +int Transaction::progress() const +{ + return m_progress; +} + +void Transaction::setStatus(Status status) +{ + if(m_status != status) { + m_status = status; + emit statusChanged(m_status); + + if (m_status == DoneStatus || m_status == CancelledStatus || m_status == DoneWithErrorStatus) { + setCancellable(false); + + TransactionModel::global()->removeTransaction(this); + } + } +} + +void Transaction::setCancellable(bool isCancellable) +{ + if(m_isCancellable != isCancellable) { + m_isCancellable = isCancellable; + emit cancellableChanged(m_isCancellable); + } +} + +void Transaction::setProgress(int progress) +{ + if(m_progress != progress) { + Q_ASSERT(qBound(0, progress, 100) == progress); + m_progress = qBound(0, progress, 100); + emit progressChanged(m_progress); + } +} + +bool Transaction::isActive() const +{ + return m_status == DownloadingStatus || m_status == CommittingStatus; +} + +QString Transaction::name() const +{ + return m_resource->name(); +} + +QVariant Transaction::icon() const +{ + return m_resource->icon(); +} + +bool Transaction::isVisible() const +{ + return m_visible; +} + +void Transaction::setVisible(bool visible) +{ + if (m_visible != visible) { + m_visible = visible; + Q_EMIT visibleChanged(visible); + } +} + +void Transaction::setDownloadSpeed(quint64 downloadSpeed) +{ + if (downloadSpeed != m_downloadSpeed) { + m_downloadSpeed = downloadSpeed; + Q_EMIT downloadSpeedChanged(downloadSpeed); + } +} + +QString Transaction::downloadSpeedString() const +{ + return i18nc("@label Download rate", "%1/s", KFormat().formatByteSize(downloadSpeed())); +} diff --git a/libdiscover/Transaction/Transaction.h b/libdiscover/Transaction/Transaction.h new file mode 100644 index 0000000..3901ac1 --- /dev/null +++ b/libdiscover/Transaction/Transaction.h @@ -0,0 +1,198 @@ +/*************************************************************************** + * Copyright © 2012 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef TRANSACTION_H +#define TRANSACTION_H + +// Qt includes +#include + +// Own includes +#include "AddonList.h" + +#include "discovercommon_export.h" + +class AbstractResource; + +/** + * \class Transaction Transaction.h "Transaction.h" + * + * \brief This is the base class of all transactions. + * + * When there are transactions running inside Muon, the backends should + * provide the corresponding Transaction objects with proper information. + */ +class DISCOVERCOMMON_EXPORT Transaction : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QVariant icon READ icon CONSTANT) + Q_PROPERTY(AbstractResource* resource READ resource CONSTANT) + Q_PROPERTY(Role role READ role CONSTANT) + Q_PROPERTY(Status status READ status NOTIFY statusChanged) + Q_PROPERTY(bool isCancellable READ isCancellable NOTIFY cancellableChanged) + Q_PROPERTY(int progress READ progress NOTIFY progressChanged) + Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged) + Q_PROPERTY(quint64 downloadSpeed READ downloadSpeed WRITE setDownloadSpeed NOTIFY downloadSpeedChanged) + Q_PROPERTY(QString downloadSpeedString READ downloadSpeedString NOTIFY downloadSpeedChanged) + +public: + enum Status { + /// Not queued, newly created + SetupStatus = 0, + /// Queued, but not yet run + QueuedStatus, + /// Transaction is in the downloading phase + DownloadingStatus, + /// Transaction is doing an installation/removal + CommittingStatus, + /// Transaction is done + DoneStatus, + /// Transaction is done, but there was an error during transaction + DoneWithErrorStatus, + /// Transaction was cancelled + CancelledStatus + }; + Q_ENUM(Status) + + enum Role { + ///The transaction is going to install a resource + InstallRole = 0, + ///The transaction is going to remove a resource + RemoveRole, + ///The transaction is going to change the addons of a resource + ChangeAddonsRole + }; + Q_ENUM(Role) + + Transaction(QObject *parent, AbstractResource *resource, + Transaction::Role role, const AddonList &addons = {}); + + ~Transaction() override; + + /** + * @returns the AbstractResource which this transaction works with + */ + AbstractResource *resource() const; + /** + * @returns the role which this transaction executes + */ + Role role() const; + /** + * @returns the current status + */ + Status status() const; + /** + * @returns the addons which this transaction works on + */ + AddonList addons() const; + /** + * @returns true when the transaction can be canceled + */ + bool isCancellable() const; + /** + * @returns a percentage of how much the transaction is already done + */ + int progress() const; + + /** + * Sets the status of the transaction + * @param status the new status + */ + void setStatus(Status status); + /** + * Sets whether the transaction can be canceled or not + * @param isCancellable should be true if the transaction can be canceled + */ + void setCancellable(bool isCancellable); + /** + * Sets the progress of the transaction + * @param progress this should be a percentage of how much of the transaction is already done + */ + void setProgress(int progress); + + /** + * Cancels the transaction + */ + Q_SCRIPTABLE virtual void cancel() = 0; + + /** + * @returns if the transaction is either downloading or committing + */ + bool isActive() const; + + Q_SCRIPTABLE virtual void proceed() {} + + /** @returns a name that identifies the transaction */ + virtual QString name() const; + + /** @returns an icon that describes the transaction */ + virtual QVariant icon() const; + + bool isVisible() const; + void setVisible(bool v); + + quint64 downloadSpeed() const { return m_downloadSpeed; } + void setDownloadSpeed(quint64 downloadSpeed); + + QString downloadSpeedString() const; + +private: + AbstractResource * const m_resource; + const Role m_role; + Status m_status; + const AddonList m_addons; + bool m_isCancellable; + int m_progress; + bool m_visible = true; + quint64 m_downloadSpeed = 0; + +Q_SIGNALS: + /** + * This gets emitted when the status of the transaction changed + */ + void statusChanged(Transaction::Status status); + /** + * This gets emitted when the ability to cancel the transaction or not changed + */ + void cancellableChanged(bool cancellable); + /** + * This gets emitted when the transaction changed the percentage of how much of it is already done + */ + void progressChanged(int progress); + + /** + * Provides a message to be shown to the user + * + * The user gets to acknowledge and proceed or cancel the transaction. + * + * @sa proceed(), cancel() + */ + void proceedRequest(const QString &title, const QString &description); + + void passiveMessage(const QString &message); + + void visibleChanged(bool visible); + + void downloadSpeedChanged(quint64 downloadSpeed); +}; + +#endif // TRANSACTION_H diff --git a/libdiscover/Transaction/TransactionListener.cpp b/libdiscover/Transaction/TransactionListener.cpp new file mode 100644 index 0000000..09d3283 --- /dev/null +++ b/libdiscover/Transaction/TransactionListener.cpp @@ -0,0 +1,159 @@ +/*************************************************************************** + * Copyright © 2010 Jonathan Thomas * + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "TransactionListener.h" + +#include "TransactionModel.h" +#include +#include "libdiscover_debug.h" + +TransactionListener::TransactionListener(QObject *parent) + : QObject(parent) + , m_resource(nullptr) + , m_transaction(nullptr) +{ + connect(TransactionModel::global(), &TransactionModel::transactionAdded, this, &TransactionListener::transactionAdded); +} + +void TransactionListener::cancel() +{ + if(!isCancellable()) { + return; + } + m_transaction->cancel(); +} + +bool TransactionListener::isCancellable() const +{ + return m_transaction && m_transaction->isCancellable(); +} + +bool TransactionListener::isActive() const +{ + return m_transaction && m_transaction->status() != Transaction::SetupStatus; +} + +QString TransactionListener::statusText() const +{ + QModelIndex index = TransactionModel::global()->indexOf(m_resource); + + return index.data(TransactionModel::StatusTextRole).toString(); +} + +void TransactionListener::setResource(AbstractResource *resource) +{ + setResourceInternal(resource); + // Catch already-started transactions + setTransaction(TransactionModel::global()->transactionFromResource(resource)); +} + +void TransactionListener::setResourceInternal(AbstractResource* resource) +{ + if (m_resource == resource) + return; + + m_resource = resource; + emit resourceChanged(); +} + +void TransactionListener::transactionAdded(Transaction *trans) +{ + if (trans->resource() != m_resource) + return; + + setTransaction(trans); +} + +class CheckChange +{ +public: + CheckChange(QObject* obj, const QByteArray& prop) + : m_object(obj) + , m_prop(obj->metaObject()->property(obj->metaObject()->indexOfProperty(prop.constData()))) + , m_oldValue(m_prop.read(obj)) + { + Q_ASSERT(obj->metaObject()->indexOfProperty(prop.constData())>=0); + } + + ~CheckChange() { + const QVariant newValue = m_prop.read(m_object); + if (newValue != m_oldValue) { + QMetaMethod m = m_prop.notifySignal(); + m.invoke(m_object, Qt::DirectConnection); + } + } + +private: + QObject* m_object; + QMetaProperty m_prop; + QVariant m_oldValue; +}; + +void TransactionListener::setTransaction(Transaction* trans) +{ + if (m_transaction == trans) { + return; + } + + if(m_transaction) { + disconnect(m_transaction, nullptr, this, nullptr); + } + + CheckChange change1(this, "isCancellable"); + CheckChange change2(this, "isActive"); + CheckChange change3(this, "statusText"); + CheckChange change4(this, "progress"); + + m_transaction = trans; + if(m_transaction) { + connect(m_transaction, &Transaction::cancellableChanged, this, &TransactionListener::cancellableChanged); + connect(m_transaction, &Transaction::statusChanged, this, &TransactionListener::transactionStatusChanged); + connect(m_transaction, &Transaction::progressChanged, this, &TransactionListener::progressChanged); + connect(m_transaction, &QObject::destroyed, this, [this]() { + qCDebug(LIBDISCOVER_LOG) << "destroyed transaction before finishing"; + setTransaction(nullptr); + }); + setResourceInternal(trans->resource()); + } + Q_EMIT transactionChanged(trans); +} + +void TransactionListener::transactionStatusChanged(Transaction::Status status) +{ + switch (status) { + case Transaction::CancelledStatus: + setTransaction(nullptr); + emit cancelled(); + break; + case Transaction::DoneStatus: + setTransaction(nullptr); + break; + default: + break; + } + + emit statusTextChanged(); +} + +int TransactionListener::progress() const +{ + return m_transaction ? m_transaction->progress() : 0; +} diff --git a/libdiscover/Transaction/TransactionListener.h b/libdiscover/Transaction/TransactionListener.h new file mode 100644 index 0000000..cd7b084 --- /dev/null +++ b/libdiscover/Transaction/TransactionListener.h @@ -0,0 +1,76 @@ +/*************************************************************************** + * Copyright © 2010 Jonathan Thomas * + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef TRANSACTIONLISTENER_H +#define TRANSACTIONLISTENER_H + +#include + +#include "Transaction.h" +#include "discovercommon_export.h" + +class AbstractResource; + +class DISCOVERCOMMON_EXPORT TransactionListener : public QObject +{ + Q_OBJECT + Q_PROPERTY(AbstractResource* resource READ resource WRITE setResource NOTIFY resourceChanged) + Q_PROPERTY(Transaction* transaction READ transaction WRITE setTransaction NOTIFY transactionChanged) + Q_PROPERTY(bool isCancellable READ isCancellable NOTIFY cancellableChanged) + Q_PROPERTY(bool isActive READ isActive NOTIFY isActiveChanged) + Q_PROPERTY(QString statusText READ statusText NOTIFY statusTextChanged) + Q_PROPERTY(int progress READ progress NOTIFY progressChanged) +public: + explicit TransactionListener(QObject *parent = nullptr); + + AbstractResource *resource() const { return m_resource; } + Transaction *transaction() const { return m_transaction; } + bool isCancellable() const; + bool isActive() const; + QString statusText() const; + int progress() const; + + Q_SCRIPTABLE void cancel(); + + void setResource(AbstractResource* resource); + void setTransaction(Transaction *trans); + +private: + void setResourceInternal(AbstractResource* resource); + + AbstractResource *m_resource; + Transaction* m_transaction; + +private Q_SLOTS: + void transactionAdded(Transaction *trans); + void transactionStatusChanged(Transaction::Status status); + +Q_SIGNALS: + void resourceChanged(); + void cancellableChanged(); + void isActiveChanged(); + void statusTextChanged(); + void cancelled(); + void progressChanged(); + void transactionChanged(Transaction* transaction); +}; + +#endif // TRANSACTIONLISTENER_H diff --git a/libdiscover/Transaction/TransactionModel.cpp b/libdiscover/Transaction/TransactionModel.cpp new file mode 100644 index 0000000..9b41527 --- /dev/null +++ b/libdiscover/Transaction/TransactionModel.cpp @@ -0,0 +1,211 @@ +/*************************************************************************** + * Copyright © 2012 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "TransactionModel.h" + +// Qt includes +#include +#include +#include + +// Own includes +#include "resources/AbstractResource.h" +#include "libdiscover_debug.h" + +Q_GLOBAL_STATIC(TransactionModel, globalTransactionModel) + +TransactionModel *TransactionModel::global() +{ + return globalTransactionModel; +} + +TransactionModel::TransactionModel(QObject *parent) + : QAbstractListModel(parent) +{ + connect(this, &QAbstractItemModel::rowsInserted, this, &TransactionModel::countChanged); + connect(this, &QAbstractItemModel::rowsRemoved, this, &TransactionModel::countChanged); + connect(this, &TransactionModel::countChanged, this, &TransactionModel::progressChanged); +} + +QHash< int, QByteArray > TransactionModel::roleNames() const +{ + QHash roles; + roles[TransactionRoleRole] = "transactionRole"; + roles[TransactionStatusRole] = "status"; + roles[CancellableRole] = "cancellable"; + roles[ProgressRole] = "progress"; + roles[StatusTextRole] = "statusText"; + roles[ResourceRole] = "resource"; + roles[TransactionRole] = "transaction"; + return roles; +} + +int TransactionModel::rowCount(const QModelIndex &parent) const +{ + // Root element parents all children + if (!parent.isValid()) + return m_transactions.size(); + + // Child elements have no children themselves + return 0; +} + +QVariant TransactionModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + Transaction *trans = m_transactions[index.row()]; + switch (role) { + case TransactionRoleRole: + return trans->role(); + case TransactionStatusRole: + return trans->status(); + case CancellableRole: + return trans->isCancellable(); + case ProgressRole: + return trans->progress(); + case StatusTextRole: + switch (trans->status()) { + case Transaction::SetupStatus: + return i18nc("@info:status", "Starting"); + case Transaction::QueuedStatus: + return i18nc("@info:status", "Waiting"); + case Transaction::DownloadingStatus: + return i18nc("@info:status", "Downloading"); + case Transaction::CommittingStatus: + switch (trans->role()) { + case Transaction::InstallRole: + return i18nc("@info:status", "Installing"); + case Transaction::RemoveRole: + return i18nc("@info:status", "Removing"); + case Transaction::ChangeAddonsRole: + return i18nc("@info:status", "Changing Addons"); + } + break; + case Transaction::DoneStatus: + return i18nc("@info:status", "Done"); + case Transaction::DoneWithErrorStatus: + return i18nc("@info:status", "Failed"); + case Transaction::CancelledStatus: + return i18nc("@info:status", "Cancelled"); + } + break; + case TransactionRole: + return qVariantFromValue(trans); + case ResourceRole: + return qVariantFromValue(trans->resource()); + } + + return QVariant(); +} + +Transaction *TransactionModel::transactionFromResource(AbstractResource *resource) const +{ + Transaction *ret = nullptr; + + Q_FOREACH (Transaction *trans, m_transactions) { + if (trans->resource() == resource) { + ret = trans; + break; + } + } + + return ret; +} + +QModelIndex TransactionModel::indexOf(Transaction *trans) const +{ + int row = m_transactions.indexOf(trans); + QModelIndex ret = index(row); + Q_ASSERT(!trans || ret.isValid()); + return ret; +} + +QModelIndex TransactionModel::indexOf(AbstractResource *res) const +{ + Transaction *trans = transactionFromResource(res); + + return indexOf(trans); +} + +void TransactionModel::addTransaction(Transaction *trans) +{ + if(!trans) + return; + + if (m_transactions.contains(trans)) + return; + + if (m_transactions.isEmpty()) + emit startingFirstTransaction(); + + int before = m_transactions.size(); + beginInsertRows(QModelIndex(), before, before + 1); + m_transactions.append(trans); + endInsertRows(); + + connect(trans, &Transaction::statusChanged, this, [this](){ transactionChanged(StatusTextRole); }); + connect(trans, &Transaction::cancellableChanged, this, [this](){ transactionChanged(CancellableRole); }); + connect(trans, &Transaction::progressChanged, this, [this](){ transactionChanged(ProgressRole); Q_EMIT progressChanged(); }); + + emit transactionAdded(trans); +} + +void TransactionModel::removeTransaction(Transaction *trans) +{ + Q_ASSERT(trans); + trans->deleteLater(); + int r = m_transactions.indexOf(trans); + if (r<0) { + qCWarning(LIBDISCOVER_LOG) << "transaction not part of the model" << trans; + return; + } + + disconnect(trans, nullptr, this, nullptr); + + beginRemoveRows(QModelIndex(), r, r); + m_transactions.removeAt(r); + endRemoveRows(); + + emit transactionRemoved(trans); + if (m_transactions.isEmpty()) + emit lastTransactionFinished(); +} + +void TransactionModel::transactionChanged(int role) +{ + Transaction *trans = qobject_cast(sender()); + QModelIndex transIdx = indexOf(trans); + emit dataChanged(transIdx, transIdx, {role}); +} + +int TransactionModel::progress() const +{ + int sum = 0; + int count = 0; + foreach(Transaction* t, m_transactions) { + if (t->isActive() && t->isVisible()) { + sum += t->progress(); + ++count; + } + } + return count==0 ? 0 : sum / count; +} diff --git a/libdiscover/Transaction/TransactionModel.h b/libdiscover/Transaction/TransactionModel.h new file mode 100644 index 0000000..996d5d1 --- /dev/null +++ b/libdiscover/Transaction/TransactionModel.h @@ -0,0 +1,81 @@ +/*************************************************************************** + * Copyright © 2012 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef TRANSACTIONMODEL_H +#define TRANSACTIONMODEL_H + +#include + +#include "Transaction.h" + +#include "discovercommon_export.h" + +class DISCOVERCOMMON_EXPORT TransactionModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(int progress READ progress NOTIFY progressChanged) + Q_PROPERTY(int count READ rowCount NOTIFY countChanged) +public: + enum Roles { + TransactionRoleRole = Qt::UserRole, + TransactionStatusRole, + CancellableRole, + ProgressRole, + StatusTextRole, + ResourceRole, + TransactionRole + }; + + explicit TransactionModel(QObject *parent = nullptr); + static TransactionModel *global(); + + // Reimplemented from QAbstractListModel + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + QHash roleNames() const override; + + Q_SCRIPTABLE Transaction *transactionFromResource(AbstractResource *resource) const; + QModelIndex indexOf(Transaction *trans) const; + QModelIndex indexOf(AbstractResource *res) const; + + void addTransaction(Transaction *trans); + void removeTransaction(Transaction *trans); + + bool contains(Transaction* transaction) const { return m_transactions.contains(transaction); } + int progress() const; + QVector transactions() const { return m_transactions; } + +private: + QVector m_transactions; + +Q_SIGNALS: + void startingFirstTransaction(); + void lastTransactionFinished(); + void transactionAdded(Transaction *trans); + void transactionRemoved(Transaction* trans); + void countChanged(); + void progressChanged(); + void proceedRequest(Transaction* transaction, const QString &title, const QString &description); + +private Q_SLOTS: + void transactionChanged(int role); +}; + +#endif // TRANSACTIONMODEL_H diff --git a/libdiscover/UpdateModel/UpdateItem.cpp b/libdiscover/UpdateModel/UpdateItem.cpp new file mode 100644 index 0000000..30a2439 --- /dev/null +++ b/libdiscover/UpdateModel/UpdateItem.cpp @@ -0,0 +1,93 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "UpdateItem.h" +#include +#include +#include + +#include +#include +#include "libdiscover_debug.h" + +UpdateItem::UpdateItem(AbstractResource *app) + : m_app(app) + , m_progress(0) +{ +} + +UpdateItem::~UpdateItem() +{ +} + +AbstractResource *UpdateItem::app() const +{ + return m_app; +} + +QString UpdateItem::name() const +{ + return m_app->name(); +} + +QString UpdateItem::version() const +{ + return m_app->availableVersion(); +} + +QVariant UpdateItem::icon() const +{ + return m_app->icon(); +} + +qint64 UpdateItem::size() const +{ + return m_app->size(); +} + +static bool isMarked(AbstractResource* res) +{ + return res->backend()->backendUpdater()->isMarked(res); +} + +Qt::CheckState UpdateItem::checked() const +{ + return isMarked(app()) ? Qt::Checked : Qt::Unchecked; +} + +qreal UpdateItem::progress() const +{ + return m_progress; +} + +void UpdateItem::setProgress(qreal progress) +{ + m_progress = progress; +} + +QString UpdateItem::changelog() const +{ + return m_changelog; +} + +void UpdateItem::setChangelog(const QString& changelog) +{ + m_changelog = changelog; +} diff --git a/libdiscover/UpdateModel/UpdateItem.h b/libdiscover/UpdateModel/UpdateItem.h new file mode 100644 index 0000000..567752a --- /dev/null +++ b/libdiscover/UpdateModel/UpdateItem.h @@ -0,0 +1,71 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef UPDATEITEM_H +#define UPDATEITEM_H + +// Qt includes +#include +#include +#include "discovercommon_export.h" + +#include + +class AbstractResource; +class DISCOVERCOMMON_EXPORT UpdateItem +{ +public: + explicit UpdateItem(AbstractResource *app); + + ~UpdateItem(); + + enum Section { + ApplicationSection, + SystemSection + }; + + void setSection(const Section §ion) { m_section = section; } + Section section() const { return m_section; } + void setProgress(qreal progress); + qreal progress() const; + + QString changelog() const; + void setChangelog(const QString &changelog); + + AbstractResource *app() const; + QString name() const; + QString version() const; + QVariant icon() const; + qint64 size() const; + Qt::CheckState checked() const; + + AbstractResource* resource() const { return m_app; } + +private: + AbstractResource * const m_app; + + const QString m_categoryName; + const QIcon m_categoryIcon; + qreal m_progress; + QString m_changelog; + Section m_section; +}; + +#endif // UPDATEITEM_H diff --git a/libdiscover/UpdateModel/UpdateModel.cpp b/libdiscover/UpdateModel/UpdateModel.cpp new file mode 100644 index 0000000..4b9ae8d --- /dev/null +++ b/libdiscover/UpdateModel/UpdateModel.cpp @@ -0,0 +1,333 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "UpdateModel.h" + +// Qt includes +#include +#include +#include "libdiscover_debug.h" + +// KDE includes +#include +#include + +// Own includes +#include "UpdateItem.h" +#include +#include +#include + +UpdateModel::UpdateModel(QObject *parent) + : QAbstractListModel(parent) + , m_updateSizeTimer(new QTimer(this)) + , m_updates(nullptr) +{ + connect(ResourcesModel::global(), &ResourcesModel::fetchingChanged, this, &UpdateModel::activityChanged); + connect(ResourcesModel::global(), &ResourcesModel::updatesCountChanged, this, &UpdateModel::activityChanged); + connect(ResourcesModel::global(), &ResourcesModel::resourceDataChanged, this, &UpdateModel::resourceDataChanged); + connect(this, &UpdateModel::toUpdateChanged, this, &UpdateModel::updateSizeChanged); + + m_updateSizeTimer->setInterval(100); + m_updateSizeTimer->setSingleShot(true); + connect(m_updateSizeTimer, &QTimer::timeout, this, &UpdateModel::updateSizeChanged); +} + +UpdateModel::~UpdateModel() +{ + qDeleteAll(m_updateItems); + m_updateItems.clear(); +} + +QHash UpdateModel::roleNames() const +{ + return QAbstractItemModel::roleNames().unite({ + { Qt::CheckStateRole, "checked" }, + { ResourceProgressRole, "resourceProgress" }, + { ResourceRole, "resource" }, + { SizeRole, "size" }, + { VersionRole, "version" }, + { SectionRole, "section" }, + { ChangelogRole, "changelog" } + } ); +} + +void UpdateModel::setBackend(ResourcesUpdatesModel* updates) +{ + if (m_updates) { + disconnect(m_updates, nullptr, this, nullptr); + } + + m_updates = updates; + + connect(m_updates, &ResourcesUpdatesModel::progressingChanged, this, &UpdateModel::activityChanged); + connect(m_updates, &ResourcesUpdatesModel::resourceProgressed, this, &UpdateModel::resourceHasProgressed); + + activityChanged(); +} + +void UpdateModel::resourceHasProgressed(AbstractResource* res, qreal progress) +{ + UpdateItem* item = itemFromResource(res); + if (!item) + return; + item->setProgress(progress); + + const QModelIndex idx = indexFromItem(item); + Q_EMIT dataChanged(idx, idx, { ResourceProgressRole, SectionResourceProgressRole }); +} + +void UpdateModel::activityChanged() +{ + if (m_updates) { + if (!m_updates->isProgressing()) { + m_updates->prepare(); + setResources(m_updates->toUpdate()); + + for(auto item : qAsConst(m_updateItems)) { + item->setProgress(0); + } + } else + setResources(m_updates->toUpdate()); + } +} + +QVariant UpdateModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) { + return QVariant(); + } + + UpdateItem *item = itemFromIndex(index); + + switch (role) { + case Qt::DisplayRole: + return item->name(); + case Qt::DecorationRole: + return item->icon(); + case Qt::CheckStateRole: + return item->checked(); + case VersionRole: + return item->version(); + case SizeRole: + return KFormat().formatByteSize(item->size()); + case ResourceRole: + return QVariant::fromValue(item->resource()); + case ResourceProgressRole: + return item->progress(); + case ChangelogRole: + return item->changelog(); + case SectionRole: { + static const QString appUpdatesSection = i18nc("@item:inlistbox", "Application Updates"); + static const QString systemUpdateSection = i18nc("@item:inlistbox", "System Updates"); + switch(item->section()) { + case UpdateItem::ApplicationSection: return appUpdatesSection; + case UpdateItem::SystemSection: return systemUpdateSection; + } + return {}; + } + case SectionResourceProgressRole: + return (100-item->progress()) + (101 * item->section()); + default: + break; + } + + return QVariant(); +} + +void UpdateModel::checkResources(const QList& resource, bool checked) +{ + if(checked) + m_updates->addResources(resource); + else + m_updates->removeResources(resource); +} + +Qt::ItemFlags UpdateModel::flags(const QModelIndex &index) const +{ + if (!index.isValid()) + return nullptr; + + return Qt::ItemIsEnabled | Qt::ItemIsSelectable; +} + +int UpdateModel::rowCount(const QModelIndex &parent) const +{ + return !parent.isValid() ? m_updateItems.count() : 0; +} + +bool UpdateModel::setData(const QModelIndex &idx, const QVariant &value, int role) +{ + if (role == Qt::CheckStateRole) { + UpdateItem *item = itemFromIndex(idx); + const bool newValue = value.toInt() == Qt::Checked; + const QList apps = { item->app() }; + + checkResources(apps, newValue); + Q_ASSERT(idx.data(Qt::CheckStateRole) == value); + + //When un/checking some backends will decide to add or remove a bunch of packages, so refresh it all + auto m = idx.model(); + Q_EMIT dataChanged(m->index(0, 0), m->index(m->rowCount()-1, 0), { Qt::CheckStateRole }); + Q_EMIT toUpdateChanged(); + + return true; + } + + return false; +} + +void UpdateModel::fetchUpdateDetails(int row) +{ + UpdateItem *item = itemFromIndex(index(row, 0)); + Q_ASSERT(item); + if (!item) return; + + item->app()->fetchUpdateDetails(); +} + +void UpdateModel::integrateChangelog(const QString &changelog) +{ + auto app = qobject_cast(sender()); + Q_ASSERT(app); + auto item = itemFromResource(app); + if (!item) + return; + + item->setChangelog(changelog); + + const QModelIndex idx = indexFromItem(item); + Q_ASSERT(idx.isValid()); + emit dataChanged(idx, idx, { ChangelogRole }); +} + +void UpdateModel::setResources(const QList& resources) +{ + if (resources == m_resources) { + return; + } + m_resources = resources; + + beginResetModel(); + qDeleteAll(m_updateItems); + m_updateItems.clear(); + + QVector appItems, systemItems; + foreach(AbstractResource* res, resources) { + connect(res, &AbstractResource::changelogFetched, this, &UpdateModel::integrateChangelog, Qt::UniqueConnection); + + UpdateItem *updateItem = new UpdateItem(res); + + if(!res->isTechnical()) { + updateItem->setSection(UpdateItem::ApplicationSection); + appItems += updateItem; + } else { + updateItem->setSection(UpdateItem::SystemSection); + systemItems += updateItem; + } + } + const auto sortUpdateItems = [](UpdateItem *a, UpdateItem *b) { return a->name() < b->name(); }; + qSort(appItems.begin(), appItems.end(), sortUpdateItems); + qSort(systemItems.begin(), systemItems.end(), sortUpdateItems); + m_updateItems = (QVector() << appItems << systemItems); + endResetModel(); + + Q_EMIT hasUpdatesChanged(!resources.isEmpty()); + Q_EMIT toUpdateChanged(); +} + +bool UpdateModel::hasUpdates() const +{ + return rowCount() > 0; +} + +ResourcesUpdatesModel* UpdateModel::backend() const +{ + return m_updates; +} + +int UpdateModel::toUpdateCount() const +{ + int ret = 0; + QSet packages; + foreach (UpdateItem* item, m_updateItems) { + const auto packageName = item->resource()->packageName(); + if (packages.contains(packageName)) { + continue; + } + packages.insert(packageName); + ret += item->checked() != Qt::Unchecked ? 1 : 0; + } + return ret; +} + +int UpdateModel::totalUpdatesCount() const +{ + int ret = 0; + QSet packages; + foreach (UpdateItem* item, m_updateItems) { + const auto packageName = item->resource()->packageName(); + if (packages.contains(packageName)) { + continue; + } + packages.insert(packageName); + ret += 1; + } + return ret; +} + +UpdateItem * UpdateModel::itemFromResource(AbstractResource* res) +{ + foreach (UpdateItem* item, m_updateItems) { + if (item->app() == res) + return item; + } + return nullptr; +} + +QString UpdateModel::updateSize() const +{ + return KFormat().formatByteSize(m_updates->updateSize()); +} + +QModelIndex UpdateModel::indexFromItem(UpdateItem* item) const +{ + return index(m_updateItems.indexOf(item), 0, {}); +} + +UpdateItem * UpdateModel::itemFromIndex(const QModelIndex& index) const +{ + return m_updateItems[index.row()]; +} + +void UpdateModel::resourceDataChanged(AbstractResource* res, const QVector& properties) +{ + auto item = itemFromResource(res); + if (!item) + return; + + const auto index = indexFromItem(item); + if (properties.contains("state")) + Q_EMIT dataChanged(index, index, {SizeRole, VersionRole}); + else if (properties.contains("size")) { + Q_EMIT dataChanged(index, index, {SizeRole}); + m_updateSizeTimer->start(); + } +} diff --git a/libdiscover/UpdateModel/UpdateModel.h b/libdiscover/UpdateModel/UpdateModel.h new file mode 100644 index 0000000..29142ba --- /dev/null +++ b/libdiscover/UpdateModel/UpdateModel.h @@ -0,0 +1,103 @@ +/*************************************************************************** + * Copyright © 2011 Jonathan Thomas * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef UPDATEMODEL_H +#define UPDATEMODEL_H + +#include +#include "discovercommon_export.h" + +class QTimer; +class ResourcesUpdatesModel; +class AbstractResource; +class UpdateItem; + +class DISCOVERCOMMON_EXPORT UpdateModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(ResourcesUpdatesModel* backend READ backend WRITE setBackend) + Q_PROPERTY(bool hasUpdates READ hasUpdates NOTIFY hasUpdatesChanged) + Q_PROPERTY(int toUpdateCount READ toUpdateCount NOTIFY toUpdateChanged) + Q_PROPERTY(int totalUpdatesCount READ totalUpdatesCount NOTIFY hasUpdatesChanged) + Q_PROPERTY(QString updateSize READ updateSize NOTIFY updateSizeChanged) +public: + + enum Roles { + VersionRole = Qt::UserRole + 1, + SizeRole, + ResourceRole, + ResourceProgressRole, + SectionResourceProgressRole, + ChangelogRole, + SectionRole + }; + Q_ENUM(Roles) + + explicit UpdateModel(QObject *parent = nullptr); + ~UpdateModel() override; + + QVariant data(const QModelIndex &index, int role) const override; + Qt::ItemFlags flags(const QModelIndex &index) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + + bool setData(const QModelIndex &index, const QVariant &value, int role) override; + void setResources(const QList& res); + UpdateItem *itemFromIndex(const QModelIndex &index) const; + + void checkResources(const QList& resource, bool checked); + QHash roleNames() const override; + + bool hasUpdates() const; + + ///all upgradeable packages + int totalUpdatesCount() const; + + ///packages marked to upgrade + int toUpdateCount() const; + + Q_SCRIPTABLE void fetchUpdateDetails(int row); + + QString updateSize() const; + + ResourcesUpdatesModel* backend() const; + +public Q_SLOTS: + void setBackend(ResourcesUpdatesModel* updates); + +Q_SIGNALS: + void hasUpdatesChanged(bool hasUpdates); + void toUpdateChanged(); + void updateSizeChanged(); + +private: + void resourceDataChanged(AbstractResource* res, const QVector &properties); + void integrateChangelog(const QString &changelog); + QModelIndex indexFromItem(UpdateItem* item) const; + UpdateItem* itemFromResource(AbstractResource* res); + void resourceHasProgressed(AbstractResource* res, qreal progress); + void activityChanged(); + + QTimer* const m_updateSizeTimer; + QVector m_updateItems; + ResourcesUpdatesModel* m_updates; + QList m_resources; +}; + +#endif // UPDATEMODEL_H diff --git a/libdiscover/appstream/AppStreamIntegration.cpp b/libdiscover/appstream/AppStreamIntegration.cpp new file mode 100644 index 0000000..3c1e307 --- /dev/null +++ b/libdiscover/appstream/AppStreamIntegration.cpp @@ -0,0 +1,43 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AppStreamIntegration.h" + +AppStreamIntegration * AppStreamIntegration::global() +{ + static AppStreamIntegration * var = nullptr; + if (!var) { + var = new AppStreamIntegration; + } + + return var; +} + +QSharedPointer AppStreamIntegration::reviews() +{ + QSharedPointer ret; + if (m_reviews) { + ret = m_reviews; + } else { + ret = QSharedPointer(new OdrsReviewsBackend(nullptr)); + m_reviews = ret; + } + return ret; +} diff --git a/libdiscover/appstream/AppStreamIntegration.h b/libdiscover/appstream/AppStreamIntegration.h new file mode 100644 index 0000000..e0f662b --- /dev/null +++ b/libdiscover/appstream/AppStreamIntegration.h @@ -0,0 +1,42 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef APPSTREAMINTEGRATION_H +#define APPSTREAMINTEGRATION_H + +#include "discovercommon_export.h" +#include +#include "OdrsReviewsBackend.h" + +class DISCOVERCOMMON_EXPORT AppStreamIntegration : public QObject +{ + Q_OBJECT +public: + static AppStreamIntegration* global(); + + QSharedPointer reviews(); + +private: + QWeakPointer m_reviews; + + AppStreamIntegration() {} +}; + +#endif // APPSTREAMINTEGRATION_H diff --git a/libdiscover/appstream/AppStreamUtils.h b/libdiscover/appstream/AppStreamUtils.h new file mode 100644 index 0000000..78de3c2 --- /dev/null +++ b/libdiscover/appstream/AppStreamUtils.h @@ -0,0 +1,78 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef APPSTREAMUTILS_H +#define APPSTREAMUTILS_H + +#include +#include +#include +#include +#include +#include +#include + +namespace AppStreamUtils +{ +static QUrl imageOfKind(const QList &images, AppStream::Image::Kind kind) +{ + QUrl ret; + Q_FOREACH (const AppStream::Image &i, images) { + if (i.kind() == kind) { + ret = i.url(); + break; + } + } + return ret; +} + +static QString changelogToHtml(const AppStream::Component &appdata) +{ + if(appdata.releases().isEmpty()) + return {}; + + const auto release = appdata.releases().constFirst(); + if (release.description().isEmpty()) + return {}; + + QString changelog = QStringLiteral("

") + release.version() + QStringLiteral("

") + + QStringLiteral("

") + release.description() + QStringLiteral("

"); + return changelog; +} + +static QPair, QList> fetchScreenshots(const AppStream::Component &appdata) +{ + QList screenshots, thumbnails; + Q_FOREACH (const AppStream::Screenshot &s, appdata.screenshots()) { + const auto images = s.images(); + const QUrl thumbnail = AppStreamUtils::imageOfKind(images, AppStream::Image::KindThumbnail); + const QUrl plain = AppStreamUtils::imageOfKind(images, AppStream::Image::KindSource); + if (plain.isEmpty()) + qWarning() << "invalid screenshot for" << appdata.name(); + + screenshots << plain; + thumbnails << (thumbnail.isEmpty() ? plain : thumbnail); + } + return {screenshots, thumbnails}; +} + +} + +#endif diff --git a/libdiscover/appstream/OdrsReviewsBackend.cpp b/libdiscover/appstream/OdrsReviewsBackend.cpp new file mode 100644 index 0000000..0fd6536 --- /dev/null +++ b/libdiscover/appstream/OdrsReviewsBackend.cpp @@ -0,0 +1,371 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "OdrsReviewsBackend.h" + +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include "libdiscover_debug.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// #define APIURL "http://127.0.0.1:5000/1.0/reviews/api" +#define APIURL "https://odrs.gnome.org/1.0/reviews/api" + +OdrsReviewsBackend::OdrsReviewsBackend(AbstractResourcesBackend *parent) + : AbstractReviewsBackend(parent) + , m_isFetching(false) + , m_nam(new QNetworkAccessManager(this)) +{ + bool fetchRatings = false; + const QUrl ratingsUrl(QStringLiteral(APIURL "/ratings")); + const QUrl fileUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QStringLiteral("/ratings/ratings")); + const QDir cacheDir(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)); + + // Create $HOME/.cache/discover/ratings folder + cacheDir.mkdir(QStringLiteral("ratings")); + + if (QFileInfo::exists(fileUrl.toLocalFile())) { + QFileInfo file(fileUrl.toLocalFile()); + // Refresh the cached ratings if they are older than one day + if (file.lastModified().msecsTo(QDateTime::currentDateTime()) > 1000 * 60 * 60 * 24) { + fetchRatings = true; + } + } else { + fetchRatings = true; + } + + if (fetchRatings) { + m_isFetching = true; + KIO::FileCopyJob *getJob = KIO::file_copy(ratingsUrl, fileUrl, -1, KIO::Overwrite | KIO::HideProgressInfo); + connect(getJob, &KIO::FileCopyJob::result, this, &OdrsReviewsBackend::ratingsFetched); + } else { + parseRatings(); + } +} + +void OdrsReviewsBackend::ratingsFetched(KJob *job) +{ + m_isFetching = false; + if (job->error()) { + qCWarning(LIBDISCOVER_LOG) << "Failed to fetch ratings " << job->errorString(); + } else { + parseRatings(); + } +} + +static QString osName() +{ + QString osReleaseFilename; + if (QFileInfo::exists(QStringLiteral("/etc/os-release"))) { + osReleaseFilename = QStringLiteral("/etc/os-release"); + } else if (QFileInfo::exists(QStringLiteral("/usr/lib/os-release"))) { + osReleaseFilename = QStringLiteral("/usr/lib/os-release"); + } + + if (osReleaseFilename.isEmpty()) { + return QStringLiteral("Unknown"); + } + + QFile osReleaseFile(osReleaseFilename); + if (osReleaseFile.open(QIODevice::ReadOnly)) { + QString line; + QTextStream stream(&osReleaseFile); + while (stream.readLineInto(&line)) { + if (line.startsWith(QStringLiteral("NAME"))) { + QStringRef name = line.midRef(5).trimmed(); + if (name.startsWith(QLatin1Char('\"')) && name.endsWith(QLatin1Char('\"'))) + name = name.mid(1, name.size()-2); + return name.toString(); + } + } + } + + return QStringLiteral("Unknown"); +} + +static QString userHash() +{ + QString machineId; + QFile file(QStringLiteral("/etc/machine-id")); + if (file.open(QIODevice::ReadOnly)) { + machineId = QString::fromUtf8(file.readAll()); + file.close(); + } + + if (machineId.isEmpty()) { + return QString(); + } + + QString salted = QStringLiteral("gnome-software[%1:%2]").arg(KUser().loginName(), machineId); + return QString::fromUtf8(QCryptographicHash::hash(salted.toUtf8(), QCryptographicHash::Sha1).toHex()); +} + +void OdrsReviewsBackend::fetchReviews(AbstractResource *app, int page) +{ + Q_UNUSED(page) + m_isFetching = true; + + // Check cached reviews + const QString fileName = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QStringLiteral("/reviews/%1.json").arg(app->appstreamId()); + if (QFileInfo::exists(fileName)) { + QFileInfo file(fileName); + // Check if the reviews are not older than a week msecs * secs * hours * days + if (file.lastModified().msecsTo(QDateTime::currentDateTime()) < 1000 * 60 * 60 * 24 * 7 ) { + QFile reviewFile(fileName); + if (reviewFile.open(QIODevice::ReadOnly)) { + QByteArray reviews = reviewFile.readAll(); + QJsonDocument document = QJsonDocument::fromJson(reviews); + parseReviews(document, app); + return; + } + } + } + + const QJsonDocument document(QJsonObject{ + {QStringLiteral("app_id"), app->appstreamId()}, + {QStringLiteral("distro"), osName()}, + {QStringLiteral("user_hash"), userHash()}, + {QStringLiteral("version"), app->isInstalled() ? app->installedVersion() : app->availableVersion()}, + {QStringLiteral("locale"), QLocale::system().name()}, + {QStringLiteral("limit"), 0} + }); + + QNetworkRequest request(QUrl(QStringLiteral(APIURL "/fetch"))); + request.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/json; charset=utf-8")); + request.setHeader(QNetworkRequest::ContentLengthHeader, document.toJson().size()); + // Store reference to the app for which we request reviews + request.setOriginatingObject(app); + + auto reply = m_nam->post(request, document.toJson()); + connect(reply, &QNetworkReply::finished, this, &OdrsReviewsBackend::reviewsFetched); +} + +void OdrsReviewsBackend::reviewsFetched() +{ + QNetworkReply* reply = qobject_cast(sender()); + + if (reply->error() != QNetworkReply::NoError) { + qCWarning(LIBDISCOVER_LOG) << "error fetching reviews:" << reply->errorString(); + m_isFetching = false; + return; + } + + QByteArray data = reply->readAll(); + const QJsonDocument document = QJsonDocument::fromJson(data); + AbstractResource *resource = qobject_cast(reply->request().originatingObject()); + Q_ASSERT(resource); + parseReviews(document, resource); + + // Store reviews to cache so we don't need to download them all the time + if (document.array().isEmpty()) { + return; + } + + QJsonObject jsonObject = document.array().first().toObject(); + if (jsonObject.isEmpty()) { + return; + } + + QFile file(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QStringLiteral("/reviews/%1.json").arg(jsonObject.value(QStringLiteral("app_id")).toString())); + if (file.open(QIODevice::WriteOnly)) { + file.write(document.toJson()); + } +} + +Rating * OdrsReviewsBackend::ratingForApplication(AbstractResource *app) const +{ + if (app->appstreamId().isEmpty()) { + return nullptr; + } + + return m_ratings[app->appstreamId()]; +} + +void OdrsReviewsBackend::submitUsefulness(Review *review, bool useful) +{ + const QJsonDocument document(QJsonObject{ + {QStringLiteral("app_id"), review->applicationName()}, + {QStringLiteral("user_skey"), review->getMetadata(QStringLiteral("ODRS::user_skey")).toString()}, + {QStringLiteral("user_hash"), userHash()}, + {QStringLiteral("distro"), osName()}, + {QStringLiteral("review_id"), QJsonValue(double(review->id()))} //if we really need uint64 we should get it in QJsonValue + }); + + QNetworkRequest request(QUrl(QStringLiteral(APIURL) + (useful ? QLatin1String("/upvote") : QLatin1String("/downvote")))); + request.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/json; charset=utf-8")); + request.setHeader(QNetworkRequest::ContentLengthHeader, document.toJson().size()); + + auto reply = m_nam->post(request, document.toJson()); + connect(reply, &QNetworkReply::finished, this, &OdrsReviewsBackend::usefulnessSubmitted); +} + +void OdrsReviewsBackend::usefulnessSubmitted() +{ + QNetworkReply* reply = qobject_cast(sender()); + + if (reply->error() == QNetworkReply::NoError) { + qCWarning(LIBDISCOVER_LOG) << "Usefullness submitted"; + } else { + qCWarning(LIBDISCOVER_LOG) << "Failed to submit usefulness: " << reply->errorString(); + } +} + +QString OdrsReviewsBackend::userName() const +{ + return i18n("%1 (%2)", KUser().property(KUser::FullName).toString(), KUser().loginName()); +} + +void OdrsReviewsBackend::submitReview(AbstractResource *res, const QString &summary, const QString &description, const QString &rating) +{ + QJsonObject map = {{QStringLiteral("app_id"), res->appstreamId()}, + {QStringLiteral("user_skey"), res->getMetadata(QStringLiteral("ODRS::user_skey")).toString()}, + {QStringLiteral("user_hash"), userHash()}, + {QStringLiteral("version"), res->isInstalled() ? res->installedVersion() : res->availableVersion()}, + {QStringLiteral("locale"), QLocale::system().name()}, + {QStringLiteral("distro"), osName()}, + {QStringLiteral("user_display"), QJsonValue::fromVariant(KUser().property(KUser::FullName))}, + {QStringLiteral("summary"), summary}, + {QStringLiteral("description"), description}, + {QStringLiteral("rating"), rating.toInt() * 10}}; + + const QJsonDocument document(map); + + QNetworkAccessManager *accessManager = new QNetworkAccessManager(this); + QNetworkRequest request(QUrl(QStringLiteral(APIURL "/submit"))); + request.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/json; charset=utf-8")); + request.setHeader(QNetworkRequest::ContentLengthHeader, document.toJson().size()); + + // Store what we need so we can immediately show our review once it is submitted + // Use review_id 0 for now as odrs starts numbering from 1 and once reviews are re-downloaded we get correct id + map.insert(QStringLiteral("review_id"), 0); + res->addMetadata(QStringLiteral("ODRS::review_map"), map); + request.setOriginatingObject(res); + + accessManager->post(request, document.toJson()); + connect(accessManager, &QNetworkAccessManager::finished, this, &OdrsReviewsBackend::reviewSubmitted); +} + +void OdrsReviewsBackend::reviewSubmitted(QNetworkReply *reply) +{ + if (reply->error() == QNetworkReply::NoError) { + qCWarning(LIBDISCOVER_LOG) << "Review submitted"; + AbstractResource *resource = qobject_cast(reply->request().originatingObject()); + const QJsonArray array = {resource->getMetadata(QStringLiteral("ODRS::review_map")).toObject()}; + const QJsonDocument document(array); + // Remove local file with reviews so we can re-download it next time to get our review + QFile file(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QStringLiteral("/reviews/%1.json").arg(array.first().toObject().value(QStringLiteral("app_id")).toString())); + file.remove(); + parseReviews(document, resource); + } else { + qCWarning(LIBDISCOVER_LOG) << "Failed to submit review: " << reply->errorString(); + } +} + +void OdrsReviewsBackend::parseRatings() +{ + QFile ratingsDocument(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QStringLiteral("/ratings/ratings")); + if (ratingsDocument.open(QIODevice::ReadOnly)) { + QJsonDocument jsonDocument = QJsonDocument::fromJson(ratingsDocument.readAll()); + const QJsonObject jsonObject = jsonDocument.object(); + m_ratings.reserve(jsonObject.size()); + for (auto it = jsonObject.begin(); it != jsonObject.end(); it++) { + QJsonObject appJsonObject = it.value().toObject(); + + const int ratingCount = appJsonObject.value(QLatin1String("total")).toInt(); + QVariantMap ratingMap = { { QStringLiteral("star0"), appJsonObject.value(QLatin1String("star0")).toInt() }, + { QStringLiteral("star1"), appJsonObject.value(QLatin1String("star1")).toInt() }, + { QStringLiteral("star2"), appJsonObject.value(QLatin1String("star2")).toInt() }, + { QStringLiteral("star3"), appJsonObject.value(QLatin1String("star3")).toInt() }, + { QStringLiteral("star4"), appJsonObject.value(QLatin1String("star4")).toInt() }, + { QStringLiteral("star5"), appJsonObject.value(QLatin1String("star5")).toInt() } }; + + Rating *rating = new Rating(it.key(), ratingCount, ratingMap); + rating->setParent(this); + m_ratings.insert(it.key(), rating); + } + ratingsDocument.close(); + + Q_EMIT ratingsReady(); + } +} + +void OdrsReviewsBackend::parseReviews(const QJsonDocument &document, AbstractResource *resource) +{ + m_isFetching = false; + Q_ASSERT(resource); + if (!resource) { + return; + } + + QJsonArray reviews = document.array(); + if (!reviews.isEmpty()) { + QVector reviewList; + for (auto it = reviews.begin(); it != reviews.end(); it++) { + const QJsonObject review = it->toObject(); + if (!review.isEmpty()) { + const int usefulFavorable = review.value(QStringLiteral("karma_up")).toInt(); + const int usefulTotal = review.value(QStringLiteral("karma_down")).toInt() + usefulFavorable; + QDateTime dateTime; + dateTime.setTime_t(review.value(QStringLiteral("date_created")).toInt()); + ReviewPtr r(new Review(review.value(QStringLiteral("app_id")).toString(), resource->packageName(), + review.value(QStringLiteral("locale")).toString(), review.value(QStringLiteral("summary")).toString(), + review.value(QStringLiteral("description")).toString(), review.value(QStringLiteral("user_display")).toString(), + dateTime, true, review.value(QStringLiteral("review_id")).toInt(), + review.value(QStringLiteral("rating")).toInt() / 10, usefulTotal, usefulFavorable, + review.value(QStringLiteral("version")).toString())); + // We can also receive just a json with app name and user info so filter these out as there is no review + if (!r->summary().isEmpty() && !r->reviewText().isEmpty()) { + reviewList << r; + // Needed for submitting usefulness + r->addMetadata(QStringLiteral("ODRS::user_skey"), review.value(QStringLiteral("user_skey")).toString()); + } + + // We should get at least user_skey needed for posting reviews + resource->addMetadata(QStringLiteral("ODRS::user_skey"), review.value(QStringLiteral("user_skey")).toString()); + } + } + + Q_EMIT reviewsReady(resource, reviewList, false); + } +} + +bool OdrsReviewsBackend::isResourceSupported(AbstractResource* res) const +{ + return !res->appstreamId().isEmpty(); +} diff --git a/libdiscover/appstream/OdrsReviewsBackend.h b/libdiscover/appstream/OdrsReviewsBackend.h new file mode 100644 index 0000000..ba35e7a --- /dev/null +++ b/libdiscover/appstream/OdrsReviewsBackend.h @@ -0,0 +1,75 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ODRSREVIEWSBACKEND_H +#define ODRSREVIEWSBACKEND_H + +#include +#include + +#include +#include +#include + +class KJob; +class AbstractResourcesBackend; +class DISCOVERCOMMON_EXPORT OdrsReviewsBackend : public AbstractReviewsBackend +{ +Q_OBJECT +public: + explicit OdrsReviewsBackend(AbstractResourcesBackend *parent = nullptr); + + QString userName() const override; + void login() override {} + void logout() override {} + void registerAndLogin() override {} + + Rating * ratingForApplication(AbstractResource *app) const override; + bool hasCredentials() const override { return false; } + void deleteReview(Review *) override {} + void fetchReviews(AbstractResource *app, int page = 1) override; + bool isFetching() const override { return m_isFetching; } + void submitReview(AbstractResource *, const QString &summary, const QString &description, const QString &rating) override; + void flagReview(Review *, const QString &, const QString &) override {} + void submitUsefulness(Review *review, bool useful) override; + QStringList appstreamIds() const { return m_ratings.keys(); } + bool isResourceSupported(AbstractResource * res) const override; + +private Q_SLOTS: + void ratingsFetched(KJob *job); + void reviewsFetched(); + void reviewSubmitted(QNetworkReply *reply); + void usefulnessSubmitted(); + +Q_SIGNALS: + void ratingsReady(); + +private: + void parseRatings(); + void parseReviews(const QJsonDocument &document, AbstractResource *resource); + + QHash m_ratings; + bool m_isFetching; + QNetworkAccessManager* const m_nam; +}; + +#endif // ODRSREVIEWSBACKEND_H + diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt new file mode 100644 index 0000000..e2f8ab3 --- /dev/null +++ b/libdiscover/backends/CMakeLists.txt @@ -0,0 +1,48 @@ +function(add_unit_test name) + add_executable(${name} ${CMAKE_SOURCE_DIR}/libdiscover/tests/modeltest.cpp ${ARGN}) + add_test(${name} ${name}) + ecm_mark_as_test(${name}) + target_link_libraries(${name} + Discover::Common + + Qt5::Test Qt5::Core ${EXTRA_LIBS}) +endfunction() + +if(KF5Attica_FOUND AND KF5NewStuff_FOUND) + add_subdirectory(KNSBackend) +endif() + +if(packagekitqt5_FOUND AND AppStreamQt_FOUND) + add_subdirectory(PackageKitBackend) +endif() + +option(BUILD_DummyBackend "Build the DummyBackend" "OFF") +if(BUILD_DummyBackend) + add_subdirectory(DummyBackend) +endif() + +option(BUILD_FlatpakBackend "Build Flatpak support" "ON") +if(Flatpak_FOUND AND AppStreamQt_FOUND AND BUILD_FlatpakBackend) + add_subdirectory(FlatpakBackend) +elseif(BUILD_FlatpakBackend) + message(WARNING "BUILD_FlatpakBackend enabled but Flatpak=${Flatpak_FOUND} or AppStreamQt=${AppStreamQt_FOUND} not found") +endif() + +find_package(Snapd) +set_package_properties(Snapd PROPERTIES + DESCRIPTION "Library that exposes Snapd" + URL "http://www.snapcraft.io" + PURPOSE "Required to build the Snap backend" + TYPE OPTIONAL) + +option(BUILD_SnapBackend "Build Snap support." "ON") +if(BUILD_SnapBackend AND Snapd_FOUND) + add_subdirectory(SnapBackend) +endif() + +option(BUILD_FwupdBackend "Build Fwupd support." "ON") +if(BUILD_FwupdBackend AND TARGET PkgConfig::Fwupd) + add_subdirectory(FwupdBackend) +endif() + + diff --git a/libdiscover/backends/DummyBackend/CMakeLists.txt b/libdiscover/backends/DummyBackend/CMakeLists.txt new file mode 100644 index 0000000..65525b2 --- /dev/null +++ b/libdiscover/backends/DummyBackend/CMakeLists.txt @@ -0,0 +1,21 @@ +add_subdirectory(tests) + +set(dummy-backend_SRCS + DummyResource.cpp + DummyBackend.cpp + DummyReviewsBackend.cpp + DummyTransaction.cpp + DummySourcesBackend.cpp +) + +add_library(dummy-backend MODULE ${dummy-backend_SRCS}) +target_link_libraries(dummy-backend Qt5::Core Qt5::Widgets KF5::CoreAddons KF5::ConfigCore Discover::Common) + +install(TARGETS dummy-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover) +install(FILES dummy-backend-categories.xml DESTINATION ${DATA_INSTALL_DIR}/libdiscover/categories) + +add_library(DummyNotifier MODULE DummyNotifier.cpp) +target_link_libraries(DummyNotifier Discover::Notifiers) +set_target_properties(DummyNotifier PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover) + +install(TARGETS DummyNotifier DESTINATION ${PLUGIN_INSTALL_DIR}/discover-notifier) diff --git a/libdiscover/backends/DummyBackend/DummyBackend.cpp b/libdiscover/backends/DummyBackend/DummyBackend.cpp new file mode 100644 index 0000000..ce3659b --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyBackend.cpp @@ -0,0 +1,179 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummyBackend.h" +#include "DummyResource.h" +#include "DummyReviewsBackend.h" +#include "DummyTransaction.h" +#include "DummySourcesBackend.h" +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DISCOVER_BACKEND_PLUGIN(DummyBackend) + +DummyBackend::DummyBackend(QObject* parent) + : AbstractResourcesBackend(parent) + , m_updater(new StandardBackendUpdater(this)) + , m_reviews(new DummyReviewsBackend(this)) + , m_fetching(true) + , m_startElements(120) +{ + QTimer::singleShot(500, this, &DummyBackend::toggleFetching); + connect(m_reviews, &DummyReviewsBackend::ratingsReady, this, &AbstractResourcesBackend::emitRatingsReady); + connect(m_updater, &StandardBackendUpdater::updatesCountChanged, this, &DummyBackend::updatesCountChanged); + + populate(QStringLiteral("Dummy")); + if (!m_fetching) + m_reviews->initialize(); + + SourcesModel::global()->addSourcesBackend(new DummySourcesBackend(this)); +} + +void DummyBackend::populate(const QString& n) +{ + const int start = m_resources.count(); + for(int i=start; isetSize(100+(m_startElements-i)); + res->setState(AbstractResource::State(1+(i%3))); + m_resources.insert(name.toLower(), res); + connect(res, &DummyResource::stateChanged, this, &DummyBackend::updatesCountChanged); + } + + for(int i=start; isetState(AbstractResource::State(1+(i%3))); + res->setSize(300+(m_startElements-i)); + m_resources.insert(name, res); + connect(res, &DummyResource::stateChanged, this, &DummyBackend::updatesCountChanged); + } +} + +void DummyBackend::toggleFetching() +{ + m_fetching = !m_fetching; +// qDebug() << "fetching..." << m_fetching; + emit fetchingChanged(); + if (!m_fetching) + m_reviews->initialize(); +} + +int DummyBackend::updatesCount() const +{ + return m_updater->updatesCount(); +} + +ResultsStream* DummyBackend::search(const AbstractResourcesBackend::Filters& filter) +{ + QVector ret; + if (!filter.resourceUrl.isEmpty()) + return findResourceByPackageName(filter.resourceUrl); + else foreach(AbstractResource* r, m_resources) { + if (r->isTechnical() && filter.state != AbstractResource::Upgradeable) { + continue; + } + + if (r->state() < filter.state) + continue; + + if(r->name().contains(filter.search, Qt::CaseInsensitive) || r->comment().contains(filter.search, Qt::CaseInsensitive)) + ret += r; + } + return new ResultsStream(QStringLiteral("DummyStream"), ret); +} + +ResultsStream * DummyBackend::findResourceByPackageName(const QUrl& search) +{ + auto res = search.scheme() == QLatin1String("dummy") ? m_resources.value(search.host().replace(QLatin1Char('.'), QLatin1Char(' '))) : nullptr; + if (!res) { + return new ResultsStream(QStringLiteral("DummyStream"), {}); + } else + return new ResultsStream(QStringLiteral("DummyStream"), { res }); +} + +AbstractBackendUpdater* DummyBackend::backendUpdater() const +{ + return m_updater; +} + +AbstractReviewsBackend* DummyBackend::reviewsBackend() const +{ + return m_reviews; +} + +Transaction* DummyBackend::installApplication(AbstractResource* app, const AddonList& addons) +{ + return new DummyTransaction(qobject_cast(app), addons, Transaction::InstallRole); +} + +Transaction* DummyBackend::installApplication(AbstractResource* app) +{ + return new DummyTransaction(qobject_cast(app), Transaction::InstallRole); +} + +Transaction* DummyBackend::removeApplication(AbstractResource* app) +{ + return new DummyTransaction(qobject_cast(app), Transaction::RemoveRole); +} + +void DummyBackend::checkForUpdates() +{ + if(m_fetching) + return; + toggleFetching(); + populate(QStringLiteral("Moar")); + QTimer::singleShot(500, this, &DummyBackend::toggleFetching); + qDebug() << "DummyBackend::checkForUpdates"; +} + +AbstractResource * DummyBackend::resourceForFile(const QUrl& path) +{ + DummyResource* res = new DummyResource(path.fileName(), true, this); + res->setSize(666); + res->setState(AbstractResource::None); + m_resources.insert(res->packageName(), res); + connect(res, &DummyResource::stateChanged, this, &DummyBackend::updatesCountChanged); + return res; +} + +QString DummyBackend::displayName() const +{ + return QStringLiteral("Dummy"); +} + +bool DummyBackend::hasApplications() const +{ + return true; +} + +#include "DummyBackend.moc" diff --git a/libdiscover/backends/DummyBackend/DummyBackend.h b/libdiscover/backends/DummyBackend/DummyBackend.h new file mode 100644 index 0000000..b3a3315 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyBackend.h @@ -0,0 +1,68 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DUMMYBACKEND_H +#define DUMMYBACKEND_H + +#include +#include + +class QAction; +class DummyReviewsBackend; +class StandardBackendUpdater; +class DummyResource; +class DummyBackend : public AbstractResourcesBackend +{ +Q_OBJECT +Q_PROPERTY(int startElements MEMBER m_startElements) +public: + explicit DummyBackend(QObject* parent = nullptr); + + int updatesCount() const override; + AbstractBackendUpdater* backendUpdater() const override; + AbstractReviewsBackend* reviewsBackend() const override; + ResultsStream* search(const AbstractResourcesBackend::Filters & search) override; + ResultsStream * findResourceByPackageName(const QUrl& search); + QHash resources() const { return m_resources; } + bool isValid() const override { return true; } // No external file dependencies that could cause runtime errors + + Transaction* installApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app, const AddonList& addons) override; + Transaction* removeApplication(AbstractResource* app) override; + bool isFetching() const override { return m_fetching; } + AbstractResource * resourceForFile(const QUrl & ) override; + void checkForUpdates() override; + QString displayName() const override; + bool hasApplications() const override; + +public Q_SLOTS: + void toggleFetching(); + +private: + void populate(const QString& name); + + QHash m_resources; + StandardBackendUpdater* m_updater; + DummyReviewsBackend* m_reviews; + bool m_fetching; + int m_startElements; +}; + +#endif // DUMMYBACKEND_H diff --git a/libdiscover/backends/DummyBackend/DummyNotifier.cpp b/libdiscover/backends/DummyBackend/DummyNotifier.cpp new file mode 100644 index 0000000..6a0b22d --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyNotifier.cpp @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ +#include "DummyNotifier.h" + +#include + +DummyNotifier::DummyNotifier(QObject* parent) + : BackendNotifierModule(parent) +{ +} + +DummyNotifier::~DummyNotifier() +{ +} + +void DummyNotifier::recheckSystemUpdateNeeded() +{ + emit foundUpdates(); +} + +uint DummyNotifier::securityUpdatesCount() +{ + return 0; +} + +uint DummyNotifier::updatesCount() +{ + return 0; +} diff --git a/libdiscover/backends/DummyBackend/DummyNotifier.h b/libdiscover/backends/DummyBackend/DummyNotifier.h new file mode 100644 index 0000000..4e99a56 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyNotifier.h @@ -0,0 +1,40 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ +#ifndef DUMMYNOTIFIER_H +#define DUMMYNOTIFIER_H + +#include + +class DummyNotifier : public BackendNotifierModule +{ +Q_OBJECT +Q_PLUGIN_METADATA(IID "org.kde.discover.BackendNotifierModule") +Q_INTERFACES(BackendNotifierModule) +public: + explicit DummyNotifier(QObject* parent = nullptr); + ~DummyNotifier() override; + + void recheckSystemUpdateNeeded() override; + uint securityUpdatesCount() override; + uint updatesCount() override; + bool needsReboot() const override { return false; } +}; + +#endif diff --git a/libdiscover/backends/DummyBackend/DummyResource.cpp b/libdiscover/backends/DummyBackend/DummyResource.cpp new file mode 100644 index 0000000..96b5188 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyResource.cpp @@ -0,0 +1,195 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummyResource.h" +#include +#include +#include +#include +#include + +Q_GLOBAL_STATIC_WITH_ARGS(QVector, s_icons, ({ QLatin1String("kdevelop"), QLatin1String("kalgebra"), QLatin1String("kmail"), QLatin1String("akregator"), QLatin1String("korganizer") })) + +DummyResource::DummyResource(QString name, bool isTechnical, AbstractResourcesBackend* parent) + : AbstractResource(parent) + , m_name(std::move(name)) + , m_state(State::Broken) + , m_iconName((*s_icons)[KRandom::random() % s_icons->size()]) + , m_addons({ PackageState(QStringLiteral("a"), QStringLiteral("aaaaaa"), false), PackageState(QStringLiteral("b"), QStringLiteral("aaaaaa"), false), PackageState(QStringLiteral("c"), QStringLiteral("aaaaaa"), false)}) + , m_isTechnical(isTechnical) +{ + const int nofScreenshots = KRandom::random() % 5; + m_screenshots = QList{ + QUrl(QStringLiteral("http://screenshots.debian.net/screenshots/000/014/863/large.png")), + QUrl(QStringLiteral("https://c2.staticflickr.com/6/5656/21772158034_dc84382527_o.jpg")), + QUrl(QStringLiteral("https://c1.staticflickr.com/9/8479/8166397343_b78106f353_k.jpg")), + QUrl(QStringLiteral("https://c2.staticflickr.com/4/3685/9954407993_dad10a6943_k.jpg")), + QUrl(QStringLiteral("https://c1.staticflickr.com/1/653/22527103378_8ce572e1de_k.jpg")) + }.mid(nofScreenshots); + m_screenshotThumbnails = m_screenshots; +} + +QList DummyResource::addonsInformation() +{ + return m_addons; +} + +QString DummyResource::availableVersion() const +{ + return QStringLiteral("3.0"); +} + +QStringList DummyResource::categories() +{ + return { QStringLiteral("dummy"), m_name.endsWith(QLatin1Char('3')) ? QStringLiteral("three") : QStringLiteral("notthree") }; +} + +QString DummyResource::comment() +{ + return QStringLiteral("A reasonably short comment ")+name(); +} + +int DummyResource::size() +{ + return m_size; +} + +QUrl DummyResource::homepage() +{ + return QUrl(QStringLiteral("http://kde.org")); +} + +QUrl DummyResource::helpURL() +{ + return QUrl(QStringLiteral("http://very-very-excellent-docs.lol")); +} + +QUrl DummyResource::bugURL() +{ + return QUrl(QStringLiteral("file:///dev/null")); +} + +QUrl DummyResource::donationURL() +{ + return QUrl(QStringLiteral("https://youtu.be/0o8XMlL8rqY")); +} + +QVariant DummyResource::icon() const +{ + return isTechnical() ? QStringLiteral("kalarm") : m_iconName; +} + +QString DummyResource::installedVersion() const +{ + return QStringLiteral("2.3"); +} + +QString DummyResource::license() +{ + return QStringLiteral("GPL"); +} + +QString DummyResource::longDescription() +{ + return QStringLiteral("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ultricies consequat nulla, ut vulputate nulla ultricies ac. Suspendisse lacinia commodo lacus, non tristique mauris dictum vitae. Sed adipiscing augue nec nisi aliquet viverra. Etiam sit amet nulla in tellus consectetur feugiat. Cras in sem tortor. Fusce a nulla at justo accumsan gravida. Maecenas dui felis, lacinia at ornare sed, aliquam et purus. Sed ut sagittis lacus. Etiam dictum pharetra rhoncus. Suspendisse auctor orci ipsum. Pellentesque vitae urna nec felis consequat lobortis dictum in urna. Phasellus a mi ac leo adipiscing varius eget a felis. Cras magna augue, commodo sed placerat vel, tempus vel ligula. In feugiat quam quis est lobortis sed accumsan nunc malesuada. Mauris quis massa sit amet felis tempus suscipit a quis diam.\n\n" + + "Aenean quis nulla erat, vel sagittis sem. Praesent vitae mauris arcu. Cras porttitor, ante at scelerisque sodales, nibh felis consectetur orci, ut hendrerit urna urna non urna. Duis eu magna id mi scelerisque adipiscing. Aliquam sed quam in eros sodales accumsan. Phasellus tempus sagittis suscipit. Aliquam rutrum dictum justo ut viverra. Nulla felis sem, molestie sed scelerisque non, consequat vitae nulla. Aliquam ullamcorper malesuada mi, vel vestibulum magna vulputate eget. In hac habitasse platea dictumst. Cras sed lacus dui, vel semper sem. Aenean sodales porta leo vel fringilla.\n\n" + + "Ut tempus massa et urna porta non mollis metus ultricies. Duis nec nulla ac metus auctor porta id et mi. Mauris aliquam nibh a ligula malesuada sed tincidunt nibh varius. Sed felis metus, porta et adipiscing non, faucibus id leo. Donec ipsum nibh, hendrerit eget aliquam nec, tempor ut mauris. Suspendisse potenti. Vestibulum scelerisque adipiscing libero tristique eleifend. Donec quis tortor eget elit mollis iaculis ac sit amet nisi. Proin non massa sed nunc rutrum pellentesque. Sed dui lectus, laoreet sed condimentum id, commodo sed urna.\n\n" + + "Praesent tincidunt mattis massa mattis porta. Nullam posuere neque at mauris vestibulum vitae elementum leo sodales. Quisque condimentum lectus in libero luctus egestas. Fusce tempor neque ac dui tincidunt eget viverra quam suscipit. In hac habitasse platea dictumst. Etiam metus mi, adipiscing nec suscipit id, aliquet sed sem. Duis urna ligula, ornare sed vestibulum vel, molestie ac nisi. Morbi varius iaculis ligula. Nunc in augue leo, sit amet aliquam elit. Suspendisse rutrum sem diam. Proin eu orci nisl. Praesent porttitor dignissim est, id fermentum arcu venenatis vitae.\n\n" + + "Integer in sapien eget quam vulputate lobortis. Morbi nibh elit, elementum vitae vehicula sed, consequat nec erat. Donec placerat porttitor est ut dapibus. Fusce augue orci, dictum et convallis vel, blandit eu tortor. Phasellus non eros nulla. In iaculis nulla fermentum nulla gravida eu mattis purus consectetur. Integer dui nunc, sollicitudin ac tincidunt nec, hendrerit bibendum nunc. Proin sit amet augue ac velit egestas varius. Sed eu ante quis orci vestibulum sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus vitae urna odio, at molestie leo. In convallis neque vel mi dictum convallis lobortis turpis sagittis.\n\n"); +} + +QString DummyResource::name() const +{ + return m_name; +} + +QString DummyResource::origin() const +{ + return QStringLiteral("DummySource1"); +} + +QString DummyResource::packageName() const +{ + return m_name; +} + +QString DummyResource::section() +{ + return QStringLiteral("dummy"); +} + +AbstractResource::State DummyResource::state() +{ + return m_state; +} + +void DummyResource::fetchChangelog() +{ + QString log = longDescription(); + log.replace(QLatin1Char('\n'), QLatin1String("
")); + + emit changelogFetched(log); +} + +void DummyResource::fetchScreenshots() +{ + Q_EMIT screenshotsFetched(m_screenshotThumbnails, m_screenshots); +} + +void DummyResource::setState(AbstractResource::State state) +{ + m_state = state; + emit stateChanged(); +} + +void DummyResource::setAddons(const AddonList& addons) +{ + Q_FOREACH (const QString& toInstall, addons.addonsToInstall()) { + setAddonInstalled(toInstall, true); + } + Q_FOREACH (const QString& toRemove, addons.addonsToRemove()) { + setAddonInstalled(toRemove, false); + } +} + +void DummyResource::setAddonInstalled(const QString& addon, bool installed) +{ + for(auto & elem : m_addons) { + if(elem.name() == addon) { + elem.setInstalled(installed); + } + } +} + + +void DummyResource::invokeApplication() const +{ + QDesktopServices d; + d.openUrl(QUrl(QStringLiteral("https://projects.kde.org/projects/extragear/sysadmin/muon"))); +} + +QUrl DummyResource::url() const +{ + return QUrl(QLatin1String("dummy://") + packageName().replace(QLatin1Char(' '), QLatin1Char('.'))); +} diff --git a/libdiscover/backends/DummyBackend/DummyResource.h b/libdiscover/backends/DummyBackend/DummyResource.h new file mode 100644 index 0000000..cee6bfe --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyResource.h @@ -0,0 +1,76 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DUMMYRESOURCE_H +#define DUMMYRESOURCE_H + +#include + +class AddonList; +class DummyResource : public AbstractResource +{ +Q_OBJECT +public: + explicit DummyResource(QString name, bool isTechnical, AbstractResourcesBackend* parent); + + QList addonsInformation() override; + QString section() override; + QString origin() const override; + QString longDescription() override; + QString availableVersion() const override; + QString installedVersion() const override; + QString license() override; + int size() override; + QUrl homepage() override; + QUrl helpURL() override; + QUrl bugURL() override; + QUrl donationURL() override; + QStringList categories() override; + AbstractResource::State state() override; + QVariant icon() const override; + QString comment() override; + QString name() const override; + QString packageName() const override; + bool isTechnical() const override { return m_isTechnical; } + bool canExecute() const override { return true; } + void invokeApplication() const override; + void fetchChangelog() override; + void fetchScreenshots() override; + QUrl url() const override; + void setState(State state); + void setSize(int size) { m_size = size; } + void setAddons(const AddonList& addons); + + void setAddonInstalled(const QString& addon, bool installed); + QString sourceIcon() const override { return QStringLiteral("player-time"); } + QDate releaseDate() const override { return {}; } + +public: + QString m_name; + AbstractResource::State m_state; + QList m_screenshots; + QList m_screenshotThumbnails; + QString m_iconName; + QList m_addons; + bool m_isTechnical; + int m_size; +}; + +#endif // DUMMYRESOURCE_H diff --git a/libdiscover/backends/DummyBackend/DummyReviewsBackend.cpp b/libdiscover/backends/DummyBackend/DummyReviewsBackend.cpp new file mode 100644 index 0000000..b638cf7 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyReviewsBackend.cpp @@ -0,0 +1,82 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummyReviewsBackend.h" +#include "DummyBackend.h" +#include "DummyResource.h" +#include +#include +#include +#include +#include + +DummyReviewsBackend::DummyReviewsBackend(DummyBackend* parent) + : AbstractReviewsBackend(parent) +{} + +void DummyReviewsBackend::fetchReviews(AbstractResource* app, int page) +{ + if (page>=5) + return; + + QVector review; + for(int i=0; i<33; i++) { + review += ReviewPtr(new Review(app->name(), app->packageName(), QStringLiteral("en_US"), QStringLiteral("good morning"), QStringLiteral("the morning is very good"), QStringLiteral("dummy"), + QDateTime(), true, page+i, i%5, 1, 1, app->packageName())); + } + emit reviewsReady(app, review, false); +} + +Rating* DummyReviewsBackend::ratingForApplication(AbstractResource* app) const +{ + return m_ratings[app]; +} + +void DummyReviewsBackend::initialize() +{ + int i = 11; + DummyBackend* b = qobject_cast(parent()); + foreach(DummyResource* app, b->resources()) { + if (m_ratings.contains(app)) + continue; + auto randomRating = qrand()%10; + Rating* rating = new Rating(app->packageName(), ++i, {{QStringLiteral("star5"), randomRating}}); + rating->setParent(this); + m_ratings.insert(app, rating); + Q_EMIT app->ratingFetched(); + } + emit ratingsReady(); +} + +void DummyReviewsBackend::submitUsefulness(Review* r, bool useful) +{ + qDebug() << "usefulness..." << r->applicationName() << r->reviewer() << useful; + r->setUsefulChoice(useful ? ReviewsModel::Yes : ReviewsModel::No); +} + +void DummyReviewsBackend::submitReview(AbstractResource* res, const QString& a, const QString& b, const QString& c) +{ + qDebug() << "dummy submit review" << res->name() << a << b << c; +} + +bool DummyReviewsBackend::isResourceSupported(AbstractResource* /*res*/) const +{ + return true; +} diff --git a/libdiscover/backends/DummyBackend/DummyReviewsBackend.h b/libdiscover/backends/DummyBackend/DummyReviewsBackend.h new file mode 100644 index 0000000..ca5d09a --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyReviewsBackend.h @@ -0,0 +1,59 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DUMMYREVIEWSBACKEND_H +#define DUMMYREVIEWSBACKEND_H + +#include +#include +#include + +class DummyBackend; +class DummyReviewsBackend : public AbstractReviewsBackend +{ +Q_OBJECT +public: + explicit DummyReviewsBackend(DummyBackend* parent = nullptr); + + QString userName() const override { return QStringLiteral("dummy"); } + void login() override {} + void logout() override {} + void registerAndLogin() override {} + + Rating* ratingForApplication(AbstractResource* app) const override; + bool hasCredentials() const override { return false; } + void deleteReview(Review*) override {} + void fetchReviews(AbstractResource* app, int page = 1) override; + bool isFetching() const override { return false; } + void submitReview(AbstractResource*, const QString&, const QString&, const QString&) override; + void flagReview(Review*, const QString&, const QString&) override {} + void submitUsefulness(Review*, bool) override; + + void initialize(); + bool isResourceSupported(AbstractResource * res) const override; + +Q_SIGNALS: + void ratingsReady(); + +private: + QHash m_ratings; +}; + +#endif // DUMMYREVIEWSBACKEND_H diff --git a/libdiscover/backends/DummyBackend/DummySourcesBackend.cpp b/libdiscover/backends/DummyBackend/DummySourcesBackend.cpp new file mode 100644 index 0000000..b5571ab --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummySourcesBackend.cpp @@ -0,0 +1,94 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummySourcesBackend.h" +#include +#include + +DummySourcesBackend::DummySourcesBackend(AbstractResourcesBackend * parent) + : AbstractSourcesBackend(parent) + , m_sources(new QStandardItemModel(this)) + , m_testAction(new QAction(QIcon::fromTheme(QStringLiteral("kalgebra")), QStringLiteral("DummyAction"), this)) +{ + for (int i = 0; i<10; ++i) + addSource(QStringLiteral("DummySource%1").arg(i)); + + connect(m_testAction, &QAction::triggered, [](){ qDebug() << "action triggered!"; }); + connect(m_sources, &QStandardItemModel::itemChanged, this, [](QStandardItem* item) { qDebug() << "DummySource changed" << item << item->checkState(); }); +} + +QAbstractItemModel* DummySourcesBackend::sources() +{ + return m_sources; +} + +bool DummySourcesBackend::addSource(const QString& id) +{ + if (id.isEmpty()) + return false; + + QStandardItem* it = new QStandardItem(id); + it->setData(id, AbstractSourcesBackend::IdRole); + it->setData(QVariant(id + QLatin1Char(' ') + id), Qt::ToolTipRole); + it->setCheckable(true); + it->setCheckState(Qt::Checked); + m_sources->appendRow(it); + return true; +} + +QStandardItem * DummySourcesBackend::sourceForId(const QString& id) const +{ + for (int i=0, c=m_sources->rowCount(); iitem(i, 0); + if (it->text() == id) + return it; + } + return nullptr; +} + +bool DummySourcesBackend::removeSource(const QString& id) +{ + const auto it = sourceForId(id); + if (!it) { + qWarning() << "couldn't find " << id; + return false; + } + return m_sources->removeRow(it->row()); +} + +QList DummySourcesBackend::actions() const +{ + return QList() << m_testAction; +} + +bool DummySourcesBackend::moveSource(const QString& sourceId, int delta) +{ + int row = sourceForId(sourceId)->row(); + auto prevRow = m_sources->takeRow(row); + Q_ASSERT(!prevRow.isEmpty()); + + const auto destRow = row + delta; + m_sources->insertRow(destRow, prevRow); + if (destRow == 0 || row == 0) + Q_EMIT firstSourceIdChanged(); + if (destRow == m_sources->rowCount() - 1 || row == m_sources->rowCount() - 1) + Q_EMIT lastSourceIdChanged(); + return true; +} diff --git a/libdiscover/backends/DummyBackend/DummySourcesBackend.h b/libdiscover/backends/DummyBackend/DummySourcesBackend.h new file mode 100644 index 0000000..f775627 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummySourcesBackend.h @@ -0,0 +1,49 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DUMMYSOURCESBACKEND_H +#define DUMMYSOURCESBACKEND_H + +#include +#include + +class DummySourcesBackend : public AbstractSourcesBackend +{ +public: + explicit DummySourcesBackend(AbstractResourcesBackend * parent); + + QAbstractItemModel* sources() override; + bool addSource(const QString& id) override; + bool removeSource(const QString& id) override; + QString idDescription() override { return QStringLiteral("Random weird text"); } + QList actions() const override; + bool supportsAdding() const override { return true; } + + bool canMoveSources() const override { return true; } + bool moveSource(const QString & sourceId, int delta) override; + +private: + QStandardItem* sourceForId(const QString& id) const; + + QStandardItemModel* m_sources; + QAction* m_testAction; +}; + +#endif // DUMMYSOURCESBACKEND_H diff --git a/libdiscover/backends/DummyBackend/DummyTransaction.cpp b/libdiscover/backends/DummyBackend/DummyTransaction.cpp new file mode 100644 index 0000000..cf73909 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyTransaction.cpp @@ -0,0 +1,88 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummyTransaction.h" +#include "DummyBackend.h" +#include "DummyResource.h" +#include +#include +#include + +// #define TEST_PROCEED + +DummyTransaction::DummyTransaction(DummyResource* app, Role role) + : DummyTransaction(app, {}, role) +{ +} + +DummyTransaction::DummyTransaction(DummyResource* app, const AddonList& addons, Transaction::Role role) + : Transaction(app->backend(), app, role, addons) + , m_app(app) +{ + setCancellable(true); + iterateTransaction(); +} + +void DummyTransaction::iterateTransaction() +{ + if (!m_iterate) + return; + + setStatus(CommittingStatus); + if(progress()<100) { + setProgress(qBound(0, progress()+(KRandom::random()%30), 100)); + QTimer::singleShot(/*KRandom::random()%*/100, this, &DummyTransaction::iterateTransaction); + } else +#ifdef TEST_PROCEED + Q_EMIT proceedRequest(QStringLiteral("yadda yadda"), QStringLiteral("Biii BOooo
  • A
  • A
  • A
  • A
")); +#else + finishTransaction(); +#endif +} + +void DummyTransaction::proceed() +{ + finishTransaction(); +} + +void DummyTransaction::cancel() +{ + m_iterate = false; + + setStatus(CancelledStatus); +} + +void DummyTransaction::finishTransaction() +{ + AbstractResource::State newState; + switch(role()) { + case InstallRole: + case ChangeAddonsRole: + newState = AbstractResource::Installed; + break; + case RemoveRole: + newState = AbstractResource::None; + break; + } + m_app->setAddons(addons()); + m_app->setState(newState); + setStatus(DoneStatus); + deleteLater(); +} diff --git a/libdiscover/backends/DummyBackend/DummyTransaction.h b/libdiscover/backends/DummyBackend/DummyTransaction.h new file mode 100644 index 0000000..a938642 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyTransaction.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DUMMYTRANSACTION_H +#define DUMMYTRANSACTION_H + +#include + +class DummyResource; +class DummyTransaction : public Transaction +{ + Q_OBJECT + public: + DummyTransaction(DummyResource* app, Role role); + DummyTransaction(DummyResource* app, const AddonList& list, Role role); + + void cancel() override; + void proceed() override; + + private Q_SLOTS: + void iterateTransaction(); + void finishTransaction(); + + private: + bool m_iterate = true; + DummyResource* m_app; +}; + +#endif // DUMMYTRANSACTION_H diff --git a/libdiscover/backends/DummyBackend/dummy-backend-categories.xml b/libdiscover/backends/DummyBackend/dummy-backend-categories.xml new file mode 100644 index 0000000..8132af7 --- /dev/null +++ b/libdiscover/backends/DummyBackend/dummy-backend-categories.xml @@ -0,0 +1,86 @@ + + + + Dummy Category + applications + https://c1.staticflickr.com/1/44/155013466_a8596ed65a_o.jpg + + + + dummy + kalarm + https://c2.staticflickr.com/6/5308/5876407905_6f31082232_o.jpg + + dummy1 + + + + dummy addons + plasma + https://c2.staticflickr.com/4/3221/2897450915_a1fcde62b7_o.jpg + + + dummy2 + + + + dummy 1 + kontact + https://c2.staticflickr.com/2/1347/955467402_be4f5970b2_o.jpg + + dummy3 + + + + dummy with stuff + kmail + + dummy + + + + dummy 2.1 + kalgebra + + dummy + + + + + dummy with quite some stuff + kmail + + dummy2 + + + + dummy 2.1 + kalgebra + + dummy + + + + + + dummy 3 + kig + + dummy + + three + + + + + dummy 4 + kdeconnect + + dummy + + notthree + + + + + diff --git a/libdiscover/backends/DummyBackend/tests/CMakeLists.txt b/libdiscover/backends/DummyBackend/tests/CMakeLists.txt new file mode 100644 index 0000000..04d7f6a --- /dev/null +++ b/libdiscover/backends/DummyBackend/tests/CMakeLists.txt @@ -0,0 +1,4 @@ +add_unit_test(dummytest DummyTest.cpp) +add_unit_test(updatedummytest UpdateDummyTest.cpp) + +target_link_libraries(updatedummytest KF5::CoreAddons) diff --git a/libdiscover/backends/DummyBackend/tests/DummyTest.cpp b/libdiscover/backends/DummyBackend/tests/DummyTest.cpp new file mode 100644 index 0000000..d068f87 --- /dev/null +++ b/libdiscover/backends/DummyBackend/tests/DummyTest.cpp @@ -0,0 +1,298 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummyTest.h" +#include "DiscoverBackendsFactory.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +QTEST_MAIN(DummyTest) + +AbstractResourcesBackend* backendByName(ResourcesModel* m, const QString& name) +{ + QVector backends = m->backends(); + foreach(AbstractResourcesBackend* backend, backends) { + if(QString::fromLatin1(backend->metaObject()->className()) == name) { + return backend; + } + } + return nullptr; +} + +DummyTest::DummyTest(QObject* parent): QObject(parent) +{ + DiscoverBackendsFactory::setRequestedBackends({ QStringLiteral("dummy-backend") }); + + m_model = new ResourcesModel(QStringLiteral("dummy-backend"), this); + m_appBackend = backendByName(m_model, QStringLiteral("DummyBackend")); + + CategoryModel::global()->populateCategories(); +} + +void DummyTest::initTestCase() +{ + QVERIFY(m_appBackend); + while(m_appBackend->isFetching()) { + QSignalSpy spy(m_appBackend, &AbstractResourcesBackend::fetchingChanged); + QVERIFY(spy.wait()); + } +} + +QVector fetchResources(ResultsStream* stream) +{ + QVector ret; + QObject::connect(stream, &ResultsStream::resourcesFound, stream, [&ret](const QVector& res) { ret += res; }); + QSignalSpy spy(stream, &ResultsStream::destroyed); + Q_ASSERT(spy.wait()); + return ret; +} + +void DummyTest::testReadData() +{ + const auto resources = fetchResources(m_appBackend->search({})); + + QCOMPARE(m_appBackend->property("startElements").toInt(), resources.size()); + QBENCHMARK { + for(AbstractResource* res: resources) { + QVERIFY(!res->name().isEmpty()); + } + } +} + +void DummyTest::testProxy() +{ + ResourcesProxyModel pm; + QSignalSpy spy(&pm, &ResourcesProxyModel::busyChanged); +// QVERIFY(spy.wait()); + QVERIFY(!pm.isBusy()); + + pm.setFiltersFromCategory(CategoryModel::global()->rootCategories().first()); + pm.componentComplete(); + QVERIFY(pm.isBusy()); + QVERIFY(spy.wait()); + QVERIFY(!pm.isBusy()); + + QCOMPARE(m_appBackend->property("startElements").toInt(), pm.rowCount()); + pm.setSearch(QStringLiteral("techie")); + QVERIFY(pm.isBusy()); + QVERIFY(spy.wait()); + QVERIFY(!pm.isBusy()); + QCOMPARE(0, pm.rowCount()); + QCOMPARE(pm.subcategories().count(), 7); + pm.setSearch(QString()); + QVERIFY(pm.isBusy()); + QVERIFY(spy.wait()); + QVERIFY(!pm.isBusy()); + QCOMPARE(m_appBackend->property("startElements").toInt(), pm.rowCount()); +} + +void DummyTest::testProxySorting() +{ + ResourcesProxyModel pm; + QSignalSpy spy(&pm, &ResourcesProxyModel::busyChanged); +// QVERIFY(spy.wait()); + QVERIFY(!pm.isBusy()); + + pm.setFiltersFromCategory(CategoryModel::global()->rootCategories().first()); + pm.setSortOrder(Qt::DescendingOrder); + pm.setSortRole(ResourcesProxyModel::RatingCountRole); + pm.componentComplete(); + QVERIFY(pm.isBusy()); + QVERIFY(spy.wait()); + QVERIFY(!pm.isBusy()); + + QCOMPARE(m_appBackend->property("startElements").toInt(), pm.rowCount()); + QVariant lastRatingCount; + for(int i=0, rc=pm.rowCount(); isearch({})); + QCOMPARE(m_appBackend->property("startElements").toInt(), resources.count()); + + //fetches updates, adds new things + m_appBackend->checkForUpdates(); + QSignalSpy spy(m_model, SIGNAL(allInitialized())); + QVERIFY(spy.wait(80000)); + auto resources2 = fetchResources(m_appBackend->search({})); + QCOMPARE(m_appBackend->property("startElements").toInt()*2, resources2.count()); +} + +void DummyTest::testSort() +{ + ResourcesProxyModel pm; + + QCollator c; + QBENCHMARK_ONCE { + pm.setSortRole(ResourcesProxyModel::NameRole); + pm.sort(0); + QCOMPARE(pm.sortOrder(), Qt::AscendingOrder); + QString last; + for(int i = 0, count = pm.rowCount(); isearch(filter)); + QCOMPARE(resources.count(), 1); + AbstractResource* res = resources.first(); + QVERIFY(res); + + ApplicationAddonsModel m; + new ModelTest(&m, &m); + m.setApplication(res); + QCOMPARE(m.rowCount(), res->addonsInformation().count()); + QCOMPARE(res->addonsInformation().at(0).isInstalled(), false); + + QString firstAddonName = m.data(m.index(0,0)).toString(); + m.changeState(firstAddonName, true); + QVERIFY(m.hasChanges()); + + m.applyChanges(); + QSignalSpy sR(TransactionModel::global(), &TransactionModel::transactionRemoved); + QVERIFY(sR.wait()); + QVERIFY(!m.hasChanges()); + + QCOMPARE(m.data(m.index(0,0)).toString(), firstAddonName); + QCOMPARE(res->addonsInformation().at(0).name(), firstAddonName); + QCOMPARE(res->addonsInformation().at(0).isInstalled(), true); + + m.changeState(m.data(m.index(1,0)).toString(), true); + QVERIFY(m.hasChanges()); + for(int i=0, c=m.rowCount(); isearch(filter)); + QCOMPARE(resources.count(), 1); + AbstractResource* res = resources.first(); + QVERIFY(res); + + ReviewsModel m; + new ModelTest(&m, &m); + m.setResource(res); + m.fetchMore(); + + QVERIFY(m.rowCount()>0); + + QCOMPARE(ReviewsModel::UserChoice(m.data(m.index(0,0), ReviewsModel::UsefulChoice).toInt()), ReviewsModel::None); + m.markUseful(0, true); + QCOMPARE(ReviewsModel::UserChoice(m.data(m.index(0,0), ReviewsModel::UsefulChoice).toInt()), ReviewsModel::Yes); + m.markUseful(0, false); + QCOMPARE(ReviewsModel::UserChoice(m.data(m.index(0,0), ReviewsModel::UsefulChoice).toInt()), ReviewsModel::No); + + const auto resources2 = fetchResources(m_appBackend->search(filter)); + QCOMPARE(resources2.count(), 1); + res = resources2.first(); + m.setResource(res); + m.fetchMore(); + + QSignalSpy spy(&m, &ReviewsModel::rowsChanged); + QVERIFY(m.rowCount()>0); +} + +void DummyTest::testUpdateModel() +{ + const auto backend = m_model->backends().first(); + + ResourcesUpdatesModel ruModel; + new ModelTest(&ruModel, &ruModel); + UpdateModel model; + new ModelTest(&model, &model); + model.setBackend(&ruModel); + + QCOMPARE(model.rowCount(), 4*backend->property("startElements").toInt()/3); + QCOMPARE(model.hasUpdates(), true); +} + +void DummyTest::testScreenshotsModel() +{ + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = QUrl(QStringLiteral("dummy://Dummy.1")); + + ScreenshotsModel m; + new ModelTest(&m, &m); + + const auto resources = fetchResources(m_appBackend->search(filter)); + QCOMPARE(resources.count(), 1); + AbstractResource* res = resources.first(); + QVERIFY(res); + m.setResource(res); + QCOMPARE(res, m.resource()); + + int c=m.rowCount(); + for(int i=0; i * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DUMMYTEST_H +#define DUMMYTEST_H + +#include + +class ResourcesModel; +class AbstractResourcesBackend; + +class DummyTest : public QObject +{ + Q_OBJECT +public: + explicit DummyTest(QObject* parent = nullptr); + +private Q_SLOTS: + void initTestCase(); + + void testReadData(); + void testProxy(); + void testProxySorting(); + void testFetch(); + void testSort(); + void testInstallAddons(); + void testReviewsModel(); + void testUpdateModel(); + void testScreenshotsModel(); + +private: + AbstractResourcesBackend* m_appBackend; + ResourcesModel* m_model; +}; + +#endif // DUMMYTEST_H diff --git a/libdiscover/backends/DummyBackend/tests/UpdateDummyTest.cpp b/libdiscover/backends/DummyBackend/tests/UpdateDummyTest.cpp new file mode 100644 index 0000000..56574cb --- /dev/null +++ b/libdiscover/backends/DummyBackend/tests/UpdateDummyTest.cpp @@ -0,0 +1,171 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DummyTest.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +class UpdateDummyTest + : public QObject +{ + Q_OBJECT +public: + AbstractResourcesBackend* backendByName(ResourcesModel* m, const QString& name) + { + QVector backends = m->backends(); + foreach(AbstractResourcesBackend* backend, backends) { + if(QLatin1String(backend->metaObject()->className()) == name) { + return backend; + } + } + return nullptr; + } + + UpdateDummyTest(QObject* parent = nullptr): QObject(parent) + { + m_model = new ResourcesModel(QStringLiteral("dummy-backend"), this); + m_appBackend = backendByName(m_model, QStringLiteral("DummyBackend")); + } + +private Q_SLOTS: + void init() + { + QVERIFY(m_appBackend); + while(m_appBackend->isFetching()) { + QSignalSpy spy(m_appBackend, &AbstractResourcesBackend::fetchingChanged); + QVERIFY(spy.wait()); + } + } + + void testInformation() + { + ResourcesUpdatesModel* rum = new ResourcesUpdatesModel(this); + new ModelTest(rum, rum); + + UpdateModel* m = new UpdateModel(this); + new ModelTest(m, m); + m->setBackend(rum); + + rum->prepare(); + QSignalSpy spySetup(m_appBackend->backendUpdater(), &AbstractBackendUpdater::progressingChanged); + QVERIFY(!m_appBackend->backendUpdater()->isProgressing() || spySetup.wait()); + QCOMPARE(m_appBackend->updatesCount(), m_appBackend->property("startElements").toInt()*2/3); + QCOMPARE(m->hasUpdates(), true); + + QCOMPARE(m->index(0,0).data(UpdateModel::ChangelogRole).toString(), {}); + + QSignalSpy spy(m, &QAbstractItemModel::dataChanged); + m->fetchUpdateDetails(0); + QVERIFY(spy.count() || spy.wait()); + QCOMPARE(spy.count(), 1); + delete m; + } + + void testUpdate() + { + ResourcesUpdatesModel* rum = new ResourcesUpdatesModel(this); + new ModelTest(rum, rum); + + UpdateModel* m = new UpdateModel(this); + new ModelTest(m, m); + m->setBackend(rum); + + rum->prepare(); + QSignalSpy spySetup(m_appBackend->backendUpdater(), &AbstractBackendUpdater::progressingChanged); + QVERIFY(!m_appBackend->backendUpdater()->isProgressing() || spySetup.wait()); + QCOMPARE(m_appBackend->updatesCount(), m_appBackend->property("startElements").toInt()*2/3); + QCOMPARE(m->hasUpdates(), true); + + for(int i=0, c=m->rowCount(); iindex(i,0); + QVERIFY(resourceIdx.isValid()); + + AbstractResource* res = qobject_cast(resourceIdx.data(UpdateModel::ResourceRole).value()); + QVERIFY(res); + + QCOMPARE(Qt::CheckState(resourceIdx.data(Qt::CheckStateRole).toInt()), Qt::Checked); + QVERIFY(m->setData(resourceIdx, int(Qt::Unchecked), Qt::CheckStateRole)); + QCOMPARE(Qt::CheckState(resourceIdx.data(Qt::CheckStateRole).toInt()), Qt::Unchecked); + QCOMPARE(resourceIdx.data(Qt::DisplayRole).toString(), res->name()); + + if (i!=0) { + QVERIFY(m->setData(resourceIdx, int(Qt::Checked), Qt::CheckStateRole)); + } + } + + QSignalSpy spy(rum, &ResourcesUpdatesModel::progressingChanged); + QVERIFY(!rum->isProgressing() || spy.wait()); + QCOMPARE(rum->isProgressing(), false); + + QCOMPARE(m_appBackend->updatesCount(), m->rowCount()); + QCOMPARE(m->hasUpdates(), true); + + rum->prepare(); + + spy.clear(); + QCOMPARE(rum->isProgressing(), false); + rum->updateAll(); + QVERIFY(spy.count() || spy.wait()); + QCOMPARE(rum->isProgressing(), true); + + QCOMPARE(TransactionModel::global()->rowCount(), 1); + connect(TransactionModel::global(), &TransactionModel::progressChanged, this, []() { + const int progress = TransactionModel::global()->progress(); + static int lastProgress = -1; + Q_ASSERT(progress >= lastProgress || (TransactionModel::global()->rowCount() == 0 && progress == 0)); + lastProgress = progress; + }); + + QTest::qWait(20); + QScopedPointer rum2(new ResourcesUpdatesModel(this)); + new ModelTest(rum2.data(), rum2.data()); + + QScopedPointer m2(new UpdateModel(this)); + new ModelTest(m2.data(), m2.data()); + m->setBackend(rum2.data()); + + QCOMPARE(rum->isProgressing(), true); + QVERIFY(spy.wait()); + QCOMPARE(rum->isProgressing(), false); + + QCOMPARE(m_appBackend->updatesCount(), 0); + QCOMPARE(m->hasUpdates(), false); + } + +private: + ResourcesModel* m_model; + AbstractResourcesBackend* m_appBackend; +}; + +QTEST_MAIN(UpdateDummyTest) + +#include "UpdateDummyTest.moc" diff --git a/libdiscover/backends/FlatpakBackend/CMakeLists.txt b/libdiscover/backends/FlatpakBackend/CMakeLists.txt new file mode 100644 index 0000000..b87c52d --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/CMakeLists.txt @@ -0,0 +1,31 @@ +add_subdirectory(tests) + +set(flatpak-backend_SRCS + FlatpakResource.cpp + FlatpakBackend.cpp + FlatpakFetchDataJob.cpp + FlatpakSourcesBackend.cpp + FlatpakJobTransaction.cpp + FlatpakTransactionThread.cpp +) + +add_library(flatpak-backend MODULE ${flatpak-backend_SRCS}) +target_link_libraries(flatpak-backend Qt5::Core Qt5::Widgets Qt5::Concurrent KF5::CoreAddons KF5::ConfigCore Discover::Common AppStreamQt PkgConfig::Flatpak) + +install(TARGETS flatpak-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover) +install(FILES flatpak-backend-categories.xml DESTINATION ${DATA_INSTALL_DIR}/libdiscover/categories) + +add_library(FlatpakNotifier MODULE FlatpakNotifier.cpp) +target_link_libraries(FlatpakNotifier Discover::Notifiers Qt5::Concurrent PkgConfig::Flatpak) +set_target_properties(FlatpakNotifier PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover) + +install(TARGETS FlatpakNotifier DESTINATION ${PLUGIN_INSTALL_DIR}/discover-notifier) +install(PROGRAMS org.kde.discover-flatpak.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) +install(FILES org.kde.discover.flatpak.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) + +ecm_install_icons( + ICONS + sc-apps-flatpak-discover.svg + DESTINATION ${ICON_INSTALL_DIR} + THEME hicolor +) diff --git a/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp new file mode 100644 index 0000000..d81e549 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp @@ -0,0 +1,1298 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakBackend.h" +#include "FlatpakFetchDataJob.h" +#include "FlatpakResource.h" +#include "FlatpakSourcesBackend.h" +#include "FlatpakJobTransaction.h" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include "FlatpakSourcesBackend.h" + +DISCOVER_BACKEND_PLUGIN(FlatpakBackend) + +static FlatpakResource::Id idForInstalledRef(FlatpakInstallation *installation, FlatpakInstalledRef *ref) +{ + const FlatpakResource::ResourceType appType = flatpak_ref_get_kind(FLATPAK_REF(ref)) == FLATPAK_REF_KIND_APP ? FlatpakResource::DesktopApp : FlatpakResource::Runtime; + const QString name = QLatin1String(flatpak_ref_get_name(FLATPAK_REF(ref))); + const QString appId = appType == FlatpakResource::DesktopApp ? QLatin1String(flatpak_ref_get_name(FLATPAK_REF(ref))) + QStringLiteral(".desktop") : name; + + const QString arch = QString::fromUtf8(flatpak_ref_get_arch(FLATPAK_REF(ref))); + const QString branch = QString::fromUtf8(flatpak_ref_get_branch(FLATPAK_REF(ref))); + + return { installation, QString::fromUtf8(flatpak_installed_ref_get_origin(ref)), appType, appId, branch, arch }; +} + +FlatpakBackend::FlatpakBackend(QObject* parent) + : AbstractResourcesBackend(parent) + , m_updater(new StandardBackendUpdater(this)) + , m_reviews(AppStreamIntegration::global()->reviews()) + , m_refreshAppstreamMetadataJobs(0) + , m_cancellable(g_cancellable_new()) + , m_threadPool(new QThreadPool(this)) +{ + g_autoptr(GError) error = nullptr; + + connect(m_updater, &StandardBackendUpdater::updatesCountChanged, this, &FlatpakBackend::updatesCountChanged); + + // Load flatpak installation + if (!setupFlatpakInstallations(&error)) { + qWarning() << "Failed to setup flatpak installations:" << error->message; + } else { + loadAppsFromAppstreamData(); + + m_sources = new FlatpakSourcesBackend(m_installations, this); + SourcesModel::global()->addSourcesBackend(m_sources); + } + + connect(m_reviews.data(), &OdrsReviewsBackend::ratingsReady, this, &FlatpakBackend::announceRatingsReady); +} + +FlatpakBackend::~FlatpakBackend() +{ + g_cancellable_cancel(m_cancellable); + m_threadPool.waitForDone(200); + m_threadPool.clear(); + for(auto inst : m_installations) + g_object_unref(inst); + + g_object_unref(m_cancellable); +} + +bool FlatpakBackend::isValid() const +{ + return m_sources && !m_installations.isEmpty(); +} + +void FlatpakBackend::announceRatingsReady() +{ + emitRatingsReady(); + + const auto ids = m_reviews->appstreamIds().toSet(); + foreach(AbstractResource* res, m_resources) { + if (ids.contains(res->appstreamId())) { + res->ratingFetched(); + } + } +} + +class FlatpakFetchRemoteResourceJob : public QNetworkAccessManager +{ +Q_OBJECT +public: + FlatpakFetchRemoteResourceJob(const QUrl &url, FlatpakBackend *backend) + : QNetworkAccessManager(backend) + , m_backend(backend) + , m_url(url) + { + } + + void start() + { + auto replyGet = get(QNetworkRequest(m_url)); + + connect(replyGet, &QNetworkReply::finished, this, [this, replyGet] { + const QUrl originalUrl = replyGet->request().url(); + if (replyGet->error() != QNetworkReply::NoError) { + qWarning() << "couldn't download" << originalUrl << replyGet->errorString(); + Q_EMIT jobFinished(false, nullptr); + return; + } + + const QUrl fileUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation) + QLatin1Char('/') + originalUrl.fileName()); + auto replyPut = put(QNetworkRequest(fileUrl), replyGet->readAll()); + connect(replyPut, &QNetworkReply::finished, this, [this, originalUrl, fileUrl, replyPut]() { + if (replyPut->error() == QNetworkReply::NoError) { + auto res = m_backend->resourceForFile(fileUrl); + if (res) { + FlatpakResource *resource = qobject_cast(res); + resource->setResourceFile(originalUrl); + Q_EMIT jobFinished(true, resource); + } else { + qWarning() << "couldn't create resource from" << fileUrl.toLocalFile(); + Q_EMIT jobFinished(false, nullptr); + } + } else { + qWarning() << "couldn't save" << originalUrl << replyPut->errorString(); + Q_EMIT jobFinished(false, nullptr); + } + }); + }); + } + +Q_SIGNALS: + void jobFinished(bool success, FlatpakResource *resource); + +private: + FlatpakBackend *m_backend; + QUrl m_url; +}; + +FlatpakRemote * FlatpakBackend::getFlatpakRemoteByUrl(const QString &url, FlatpakInstallation *installation) const +{ + auto remotes = flatpak_installation_list_remotes(installation, m_cancellable, nullptr); + if (!remotes) { + return nullptr; + } + + const QByteArray comparableUrl = url.toUtf8(); + for (uint i = 0; i < remotes->len; i++) { + FlatpakRemote *remote = FLATPAK_REMOTE(g_ptr_array_index(remotes, i)); + + if (comparableUrl == flatpak_remote_get_url(remote)) { + return remote; + } + } + return nullptr; +} + +FlatpakInstalledRef * FlatpakBackend::getInstalledRefForApp(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource) const +{ + FlatpakInstalledRef *ref = nullptr; + g_autoptr(GError) localError = nullptr; + + if (!flatpakInstallation) { + return ref; + } + + const auto type = resource->type() == FlatpakResource::DesktopApp ? FLATPAK_REF_KIND_APP : FLATPAK_REF_KIND_RUNTIME; + + return flatpak_installation_get_installed_ref(flatpakInstallation, + type, + resource->flatpakName().toUtf8().constData(), + resource->arch().toUtf8().constData(), + resource->branch().toUtf8().constData(), + m_cancellable, &localError); +} + +FlatpakResource * FlatpakBackend::getAppForInstalledRef(FlatpakInstallation *flatpakInstallation, FlatpakInstalledRef *ref) const +{ + return m_resources.value(idForInstalledRef(flatpakInstallation, ref)); +} + +FlatpakResource * FlatpakBackend::getRuntimeForApp(FlatpakResource *resource) const +{ + FlatpakResource *runtime = nullptr; + const auto runtimeInfo = resource->runtime().split(QLatin1Char('/')); + + if (runtimeInfo.count() != 3) { + return runtime; + } + + for(auto it = m_resources.constBegin(), itEnd = m_resources.constEnd(); it!=itEnd; ++it) { + const auto id = it.key(); + if (id.type == FlatpakResource::Runtime && id.id == runtimeInfo.at(0) && id.branch == runtimeInfo.at(2)) { + runtime = *it; + break; + } + } + + // TODO if runtime wasn't found, create a new one from available info + if (!runtime) { + qWarning() << "could not find runtime" << runtimeInfo << resource; + } + + return runtime; +} + +FlatpakResource * FlatpakBackend::addAppFromFlatpakBundle(const QUrl &url) +{ + g_autoptr(GBytes) appstreamGz = nullptr; + g_autoptr(GError) localError = nullptr; + g_autoptr(GFile) file = nullptr; + g_autoptr(FlatpakBundleRef) bundleRef = nullptr; + AppStream::Component asComponent; + + file = g_file_new_for_path(url.toLocalFile().toUtf8().constData()); + bundleRef = flatpak_bundle_ref_new(file, &localError); + + if (!bundleRef) { + qWarning() << "Failed to load bundle:" << localError->message; + return nullptr; + } + + g_autoptr(GBytes) metadata = flatpak_bundle_ref_get_metadata(bundleRef); + appstreamGz = flatpak_bundle_ref_get_appstream(bundleRef); + if (appstreamGz) { + g_autoptr(GZlibDecompressor) decompressor = nullptr; + g_autoptr(GInputStream) streamGz = nullptr; + g_autoptr(GInputStream) streamData = nullptr; + g_autoptr(GBytes) appstream = nullptr; + + /* decompress data */ + decompressor = g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP); + streamGz = g_memory_input_stream_new_from_bytes (appstreamGz); + if (!streamGz) { + return nullptr; + } + + streamData = g_converter_input_stream_new (streamGz, G_CONVERTER (decompressor)); + + appstream = g_input_stream_read_bytes (streamData, 0x100000, m_cancellable, &localError); + if (!appstream) { + qWarning() << "Failed to extract appstream metadata from bundle:" << localError->message; + return nullptr; + } + + gsize len = 0; + gconstpointer data = g_bytes_get_data(appstream, &len); + + AppStream::Metadata metadata; + metadata.setFormatStyle(AppStream::Metadata::FormatStyleCollection); + AppStream::Metadata::MetadataError error = metadata.parse(QString::fromUtf8((char*)data, len), AppStream::Metadata::FormatKindXml); + if (error != AppStream::Metadata::MetadataErrorNoError) { + qWarning() << "Failed to parse appstream metadata: " << error; + return nullptr; + } + + const QList components = metadata.components(); + if (components.size()) { + asComponent = AppStream::Component(components.first()); + } else { + qWarning() << "Failed to parse appstream metadata"; + return nullptr; + } + } else { + qWarning() << "No appstream metadata in bundle"; + + QTemporaryFile tempFile; + tempFile.setAutoRemove(false); + if (!tempFile.open()) { + qWarning() << "Failed to get metadata file"; + return nullptr; + } + + gsize len = 0; + QByteArray metadataContent = QByteArray((char *)g_bytes_get_data(metadata, &len)); + tempFile.write(metadataContent); + tempFile.close(); + + // Parse the temporary file + QSettings setting(tempFile.fileName(), QSettings::NativeFormat); + setting.beginGroup(QLatin1String("Application")); + + asComponent.setName(setting.value(QLatin1String("name")).toString()); + + tempFile.remove(); + } + + FlatpakResource *resource = new FlatpakResource(asComponent, preferredInstallation(), this); + + gsize len = 0; + QByteArray metadataContent = QByteArray((char *)g_bytes_get_data(metadata, &len)); + if (!updateAppMetadata(resource, metadataContent)) { + delete resource; + qWarning() << "Failed to update metadata from app bundle"; + return nullptr; + } + + g_autoptr(GBytes) iconData = flatpak_bundle_ref_get_icon(bundleRef, 128); + if (!iconData) { + iconData = flatpak_bundle_ref_get_icon(bundleRef, 64); + } + + if (iconData) { + gsize len = 0; + char * data = (char *)g_bytes_get_data(iconData, &len); + + QPixmap pixmap; + pixmap.loadFromData(QByteArray(data, len), "PNG"); + resource->setBundledIcon(pixmap); + } + + const QString origin = QString::fromUtf8(flatpak_bundle_ref_get_origin(bundleRef)); + + resource->setDownloadSize(0); + resource->setInstalledSize(flatpak_bundle_ref_get_installed_size(bundleRef)); + resource->setPropertyState(FlatpakResource::DownloadSize, FlatpakResource::AlreadyKnown); + resource->setPropertyState(FlatpakResource::InstalledSize, FlatpakResource::AlreadyKnown); + resource->setFlatpakFileType(QStringLiteral("flatpak")); + resource->setOrigin(origin.isEmpty() ? i18n("Local bundle") : origin); + resource->setResourceFile(url); + resource->setState(FlatpakResource::None); + resource->setType(FlatpakResource::DesktopApp); + + addResource(resource); + return resource; +} + +FlatpakResource * FlatpakBackend::addAppFromFlatpakRef(const QUrl &url) +{ + QSettings settings(url.toLocalFile(), QSettings::NativeFormat); + const QString refurl = settings.value(QStringLiteral("Flatpak Ref/Url")).toString(); + + g_autoptr(GError) error = nullptr; + g_autoptr(FlatpakRemoteRef) remoteRef = nullptr; + { + QFile f(url.toLocalFile()); + if (!f.open(QFile::ReadOnly | QFile::Text)) { + return nullptr; + } + + QByteArray contents = f.readAll(); + + g_autoptr(GBytes) bytes = g_bytes_new (contents.data(), contents.size()); + + remoteRef = flatpak_installation_install_ref_file (preferredInstallation(), bytes, m_cancellable, &error); + if (!remoteRef) { + qWarning() << "Failed to create install ref file:" << error->message; + const auto resources = resourcesByAppstreamName(settings.value(QStringLiteral("Flatpak Ref/Name")).toString()); + if (!resources.isEmpty()) { + return qobject_cast(resources.constFirst()); + } + return nullptr; + } + } + + const auto remoteName = flatpak_remote_ref_get_remote_name(remoteRef); + + auto ref = FLATPAK_REF(remoteRef); + + AppStream::Component asComponent; + asComponent.addUrl(AppStream::Component::UrlKindHomepage, settings.value(QStringLiteral("Flatpak Ref/Homepage")).toString()); + asComponent.setDescription(settings.value(QStringLiteral("Flatpak Ref/Description")).toString()); + asComponent.setName(settings.value(QStringLiteral("Flatpak Ref/Title")).toString()); + asComponent.setSummary(settings.value(QStringLiteral("Flatpak Ref/Comment")).toString()); + asComponent.setId(settings.value(QStringLiteral("Flatpak Ref/Name")).toString()); + + const QString iconUrl = settings.value(QStringLiteral("Flatpak Ref/Icon")).toString(); + if (!iconUrl.isEmpty()) { + AppStream::Icon icon; + icon.setKind(AppStream::Icon::KindRemote); + icon.setUrl(QUrl(iconUrl)); + asComponent.addIcon(icon); + } + + auto resource = new FlatpakResource(asComponent, preferredInstallation(), this); + resource->setFlatpakFileType(QStringLiteral("flatpakref")); + resource->setOrigin(QString::fromUtf8(remoteName)); + resource->updateFromRef(ref); + + QUrl runtimeUrl = QUrl(settings.value(QStringLiteral("Flatpak Ref/RuntimeRepo")).toString()); + if (!runtimeUrl.isEmpty()) { + auto installation = preferredInstallation(); + // We need to fetch metadata to find information about required runtime + auto fw = new QFutureWatcher(this); + connect(fw, &QFutureWatcher::finished, this, [this, installation, resource, fw, runtimeUrl]() { + const auto metadata = fw->result(); + // Even when we failed to fetch information about runtime we still want to show the application + if (metadata.isEmpty()) { + onFetchMetadataFinished(installation, resource, metadata); + } else { + updateAppMetadata(resource, metadata); + + auto runtime = getRuntimeForApp(resource); + if (!runtime || (runtime && !runtime->isInstalled())) { + FlatpakFetchRemoteResourceJob *fetchRemoteResource = new FlatpakFetchRemoteResourceJob(runtimeUrl, this); + connect(fetchRemoteResource, &FlatpakFetchRemoteResourceJob::jobFinished, this, [this, resource] (bool success, FlatpakResource *repoResource) { + if (success) { + installApplication(repoResource); + } + addResource(resource); + }); + fetchRemoteResource->start(); + return; + } else { + addResource(resource); + } + } + fw->deleteLater(); + }); + fw->setFuture(QtConcurrent::run(&m_threadPool, &FlatpakRunnables::fetchMetadata, installation, resource)); + } else { + addResource(resource); + } + + return resource; +} + +FlatpakResource * FlatpakBackend::addSourceFromFlatpakRepo(const QUrl &url) +{ + Q_ASSERT(url.isLocalFile()); + QSettings settings(url.toLocalFile(), QSettings::NativeFormat); + + const QString gpgKey = settings.value(QStringLiteral("Flatpak Repo/GPGKey")).toString(); + const QString title = settings.value(QStringLiteral("Flatpak Repo/Title")).toString(); + const QString repoUrl = settings.value(QStringLiteral("Flatpak Repo/Url")).toString(); + + if (gpgKey.isEmpty() || title.isEmpty() || repoUrl.isEmpty()) { + return nullptr; + } + + if (gpgKey.startsWith(QStringLiteral("http://")) || gpgKey.startsWith(QStringLiteral("https://"))) { + return nullptr; + } + + AppStream::Component asComponent; + asComponent.addUrl(AppStream::Component::UrlKindHomepage, settings.value(QStringLiteral("Flatpak Repo/Homepage")).toString()); + asComponent.setSummary(settings.value(QStringLiteral("Flatpak Repo/Comment")).toString()); + asComponent.setDescription(settings.value(QStringLiteral("Flatpak Repo/Description")).toString()); + asComponent.setName(title); + asComponent.setId(settings.value(QStringLiteral("Flatpak Ref/Name")).toString()); + + const QString iconUrl = settings.value(QStringLiteral("Flatpak Repo/Icon")).toString(); + if (!iconUrl.isEmpty()) { + AppStream::Icon icon; + icon.setKind(AppStream::Icon::KindRemote); + icon.setUrl(QUrl(iconUrl)); + asComponent.addIcon(icon); + } + + auto resource = new FlatpakResource(asComponent, preferredInstallation(), this); + // Use metadata only for stuff which are not common for all resources + resource->addMetadata(QStringLiteral("gpg-key"), gpgKey); + resource->addMetadata(QStringLiteral("repo-url"), repoUrl); + resource->setBranch(settings.value(QStringLiteral("Flatpak Repo/DefaultBranch")).toString()); + resource->setFlatpakName(url.fileName().remove(QStringLiteral(".flatpakrepo"))); + resource->setType(FlatpakResource::Source); + + auto repo = flatpak_installation_get_remote_by_name(preferredInstallation(), resource->flatpakName().toUtf8().constData(), m_cancellable, nullptr); + if (!repo) { + resource->setState(AbstractResource::State::None); + } else { + resource->setState(AbstractResource::State::Installed); + } + + return resource; +} + +void FlatpakBackend::addResource(FlatpakResource *resource) +{ + // Update app with all possible information we have + if (!parseMetadataFromAppBundle(resource)) { + qWarning() << "Failed to parse metadata from app bundle for" << resource->name(); + } + + auto installation = resource->installation(); + updateAppState(installation, resource); + + // This will update also metadata (required runtime) + updateAppSize(installation, resource); + + m_resources.insert(resource->uniqueId(), resource); +} + +class FlatpakSource +{ +public: + FlatpakSource(FlatpakRemote* remote) : m_remote(remote) {} + + bool isEnabled() const + { + return !flatpak_remote_get_disabled(m_remote); + } + + QString appstreamDir() const + { + g_autoptr(GFile) appstreamDir = flatpak_remote_get_appstream_dir(m_remote, nullptr); + if (!appstreamDir) { + qWarning() << "No appstream dir for" << flatpak_remote_get_name(m_remote); + return {}; + } + return QString::fromUtf8(g_file_get_path(appstreamDir)); + } + + QString name() const + { + return QString::fromUtf8(flatpak_remote_get_name(m_remote)); + } + +private: + FlatpakRemote* m_remote; +}; + +void FlatpakBackend::loadAppsFromAppstreamData() +{ + for (auto installation : qAsConst(m_installations)) { + // Load applications from appstream metadata + if (!loadAppsFromAppstreamData(installation)) { + qWarning() << "Failed to load packages from appstream data from installation" << installation; + } + } +} + +bool FlatpakBackend::loadAppsFromAppstreamData(FlatpakInstallation *flatpakInstallation) +{ + Q_ASSERT(flatpakInstallation); + + GPtrArray *remotes = flatpak_installation_list_remotes(flatpakInstallation, m_cancellable, nullptr); + if (!remotes) { + return false; + } + + m_refreshAppstreamMetadataJobs += remotes->len; + + for (uint i = 0; i < remotes->len; i++) { + FlatpakRemote *remote = FLATPAK_REMOTE(g_ptr_array_index(remotes, i)); + g_autoptr(GFile) fileTimestamp = flatpak_remote_get_appstream_timestamp(remote, nullptr); + + QFileInfo fileInfo = QFileInfo(QString::fromUtf8(g_file_get_path(fileTimestamp))); + // Refresh appstream metadata in case they have never been refreshed or the cache is older than 6 hours + if (!fileInfo.exists() || fileInfo.lastModified().toUTC().secsTo(QDateTime::currentDateTimeUtc()) > 21600) { + refreshAppstreamMetadata(flatpakInstallation, remote); + } else { + integrateRemote(flatpakInstallation, remote); + } + } + + return true; +} + +void FlatpakBackend::integrateRemote(FlatpakInstallation *flatpakInstallation, FlatpakRemote *remote) +{ + Q_ASSERT(m_refreshAppstreamMetadataJobs != 0); + m_refreshAppstreamMetadataJobs--; + + FlatpakSource source(remote); + if (!source.isEnabled() || flatpak_remote_get_noenumerate(remote)) { + return; + } + + const QString appstreamDirPath = source.appstreamDir(); + const QString appstreamIconsPath = source.appstreamDir() + QLatin1String("/icons/"); + const QString appDirFileName = appstreamDirPath + QLatin1String("/appstream.xml.gz"); + if (!QFile::exists(appDirFileName)) { + qWarning() << "No" << appDirFileName << "appstream metadata found for" << source.name(); + return; + } + + auto fw = new QFutureWatcher>(this); + const auto sourceName = source.name(); + connect(fw, &QFutureWatcher>::finished, this, [this, fw, flatpakInstallation, appstreamIconsPath, sourceName]() { + const auto components = fw->result(); + foreach (const AppStream::Component& appstreamComponent, components) { + FlatpakResource *resource = new FlatpakResource(appstreamComponent, flatpakInstallation, this); + resource->setIconPath(appstreamIconsPath); + resource->setOrigin(sourceName); + addResource(resource); + } + if (!m_refreshAppstreamMetadataJobs) { + loadInstalledApps(); + checkForUpdates(); + + } + acquireFetching(false); + fw->deleteLater(); + }); + acquireFetching(true); + fw->setFuture(QtConcurrent::run(&m_threadPool, [appDirFileName]() -> QList { + AppStream::Metadata metadata; + metadata.setFormatStyle(AppStream::Metadata::FormatStyleCollection); + AppStream::Metadata::MetadataError error = metadata.parseFile(appDirFileName, AppStream::Metadata::FormatKindXml); + if (error != AppStream::Metadata::MetadataErrorNoError) { + qWarning() << "Failed to parse appstream metadata: " << error; + return {}; + } + + return metadata.components(); + })); +} + +void FlatpakBackend::loadInstalledApps() +{ + for (auto installation : qAsConst(m_installations)) { + // Load installed applications and update existing resources with info from installed application + if (!loadInstalledApps(installation)) { + qWarning() << "Failed to load installed packages from installation" << installation; + } + } +} + +bool FlatpakBackend::loadInstalledApps(FlatpakInstallation *flatpakInstallation) +{ + Q_ASSERT(flatpakInstallation); + + g_autoptr(GError) localError = nullptr; + g_autoptr(GPtrArray) refs = flatpak_installation_list_installed_refs(flatpakInstallation, m_cancellable, &localError); + if (!refs) { + qWarning() << "Failed to get list of installed refs for listing updates:" << localError->message; + return false; + } + + const QString pathExports = FlatpakResource::installationPath(flatpakInstallation) + QLatin1String("/exports/"); + const QString pathApps = pathExports + QLatin1String("share/applications/"); + + for (uint i = 0; i < refs->len; i++) { + FlatpakInstalledRef *ref = FLATPAK_INSTALLED_REF(g_ptr_array_index(refs, i)); + + if (flatpak_ref_get_kind(FLATPAK_REF(ref)) == FLATPAK_REF_KIND_RUNTIME) { + continue; + } + const auto res = getAppForInstalledRef(flatpakInstallation, ref); + if (res) { + res->setState(AbstractResource::Installed); + continue; + } + + const auto name = QLatin1String(flatpak_ref_get_name(FLATPAK_REF(ref))); + AppStream::Metadata metadata; + const QString fnDesktop = pathApps + name + QLatin1String(".desktop"); + AppStream::Metadata::MetadataError error = metadata.parseFile(fnDesktop, AppStream::Metadata::FormatKindDesktopEntry); + if (error != AppStream::Metadata::MetadataErrorNoError) { + qWarning() << "Failed to parse appstream metadata: " << error << fnDesktop; + continue; + } + + auto component = metadata.component(); + component.setId(name + QLatin1String(".desktop")); + FlatpakResource *resource = new FlatpakResource(component, flatpakInstallation, this); + + resource->setIconPath(pathExports); + resource->setState(AbstractResource::Installed); + resource->setOrigin(QString::fromUtf8(flatpak_installed_ref_get_origin(ref))); + resource->updateFromRef(FLATPAK_REF(ref)); + + addResource(resource); + } + + return true; +} + +void FlatpakBackend::loadLocalUpdates(FlatpakInstallation *flatpakInstallation) +{ + g_autoptr(GError) localError = nullptr; + g_autoptr(GPtrArray) refs = nullptr; + + refs = flatpak_installation_list_installed_refs(flatpakInstallation, m_cancellable, &localError); + if (!refs) { + qWarning() << "Failed to get list of installed refs for listing updates:" << localError->message; + return; + } + + for (uint i = 0; i < refs->len; i++) { + FlatpakInstalledRef *ref = FLATPAK_INSTALLED_REF(g_ptr_array_index(refs, i)); + + const gchar *latestCommit = flatpak_installed_ref_get_latest_commit(ref); + + if (!latestCommit) { + qWarning() << "Couldn't get latest commit for" << flatpak_ref_get_name(FLATPAK_REF(ref)); + continue; + } + + const gchar *commit = flatpak_ref_get_commit(FLATPAK_REF(ref)); + if (g_strcmp0(commit, latestCommit) == 0) { + continue; + } + + FlatpakResource *resource = getAppForInstalledRef(flatpakInstallation, ref); + if (resource) { + resource->setState(AbstractResource::Upgradeable); + updateAppSize(flatpakInstallation, resource); + } + } +} + +void FlatpakBackend::loadRemoteUpdates(FlatpakInstallation* installation) +{ + auto fw = new QFutureWatcher(this); + connect(fw, &QFutureWatcher::finished, this, [this, installation, fw](){ + auto refs = fw->result(); + onFetchUpdatesFinished(installation, refs); + fw->deleteLater(); + }); + fw->setFuture(QtConcurrent::run(&m_threadPool, [installation, this]() -> GPtrArray * { + g_autoptr(GError) localError = nullptr; + GPtrArray *refs = flatpak_installation_list_installed_refs_for_update(installation, m_cancellable, &localError); + if (!refs) { + qWarning() << "Failed to get list of installed refs for listing updates: " << localError->message; + } + return refs; + })); +} + +void FlatpakBackend::onFetchUpdatesFinished(FlatpakInstallation *flatpakInstallation, GPtrArray *updates) +{ + if (!updates) { + qWarning() << "could not get updates for" << flatpakInstallation; + return; + } + + g_autoptr(GPtrArray) fetchedUpdates = updates; + + for (uint i = 0; i < fetchedUpdates->len; i++) { + FlatpakInstalledRef *ref = FLATPAK_INSTALLED_REF(g_ptr_array_index(fetchedUpdates, i)); + FlatpakResource *resource = getAppForInstalledRef(flatpakInstallation, ref); + if (resource) { + resource->setState(AbstractResource::Upgradeable); + updateAppSize(flatpakInstallation, resource); + } + } +} + +bool FlatpakBackend::parseMetadataFromAppBundle(FlatpakResource *resource) +{ + g_autoptr(FlatpakRef) ref = nullptr; + g_autoptr(GError) localError = nullptr; + AppStream::Bundle bundle = resource->appstreamComponent().bundle(AppStream::Bundle::KindFlatpak); + + // Get arch/branch/commit/name from FlatpakRef + if (!bundle.isEmpty()) { + ref = flatpak_ref_parse(bundle.id().toUtf8().constData(), &localError); + if (!ref) { + qWarning() << "Failed to parse" << bundle.id() << localError->message; + return false; + } else { + resource->updateFromRef(ref); + } + } + + return true; +} + +class FlatpakRefreshAppstreamMetadataJob : public QThread +{ + Q_OBJECT +public: + FlatpakRefreshAppstreamMetadataJob(FlatpakInstallation *installation, FlatpakRemote *remote) + : QThread() + , m_cancellable(g_cancellable_new()) + , m_installation(installation) + , m_remote(remote) + { + connect(this, &FlatpakRefreshAppstreamMetadataJob::finished, this, &QObject::deleteLater); + } + + ~FlatpakRefreshAppstreamMetadataJob() + { + g_object_unref(m_cancellable); + } + + void cancel() + { + g_cancellable_cancel(m_cancellable); + } + + void run() override + { + g_autoptr(GError) localError = nullptr; + +#if FLATPAK_CHECK_VERSION(0,9,4) + // With Flatpak 0.9.4 we can use flatpak_installation_update_appstream_full_sync() providing progress reporting which we don't use at this moment, but still + // better to use newer function in case the previous one gets deprecated + if (!flatpak_installation_update_appstream_full_sync(m_installation, flatpak_remote_get_name(m_remote), nullptr, nullptr, nullptr, nullptr, m_cancellable, &localError)) { +#else + if (!flatpak_installation_update_appstream_sync(m_installation, flatpak_remote_get_name(m_remote), nullptr, nullptr, m_cancellable, &localError)) { +#endif + qWarning() << "Failed to refresh appstream metadata for " << flatpak_remote_get_name(m_remote) << ": " << (localError ? localError->message : ""); + Q_EMIT jobRefreshAppstreamMetadataFailed(); + } else { + Q_EMIT jobRefreshAppstreamMetadataFinished(m_installation, m_remote); + } + } + +Q_SIGNALS: + void jobRefreshAppstreamMetadataFailed(); + void jobRefreshAppstreamMetadataFinished(FlatpakInstallation *installation, FlatpakRemote *remote); + +private: + GCancellable *m_cancellable; + FlatpakInstallation *m_installation; + FlatpakRemote *m_remote; +}; + +void FlatpakBackend::refreshAppstreamMetadata(FlatpakInstallation *installation, FlatpakRemote *remote) +{ + FlatpakRefreshAppstreamMetadataJob *job = new FlatpakRefreshAppstreamMetadataJob(installation, remote); + connect(job, &FlatpakRefreshAppstreamMetadataJob::jobRefreshAppstreamMetadataFailed, this, [this] () { + m_refreshAppstreamMetadataJobs--; + }); + connect(job, &FlatpakRefreshAppstreamMetadataJob::jobRefreshAppstreamMetadataFinished, this, &FlatpakBackend::integrateRemote); + job->start(); +} + +bool FlatpakBackend::setupFlatpakInstallations(GError **error) +{ + if (qEnvironmentVariableIsSet("FLATPAK_TEST_MODE")) { + const QString path = QStandardPaths::writableLocation(QStandardPaths::TempLocation) + QLatin1String("/discover-flatpak-test"); + qDebug() << "running flatpak backend on test mode" << path; + g_autoptr(GFile) file = g_file_new_for_path(QFile::encodeName(path).constData()); + m_installations << flatpak_installation_new_for_path(file, true, m_cancellable, error); + return true; + } + + GPtrArray *installations = flatpak_get_system_installations(m_cancellable, error); + if (*error) { + qWarning() << "Failed to call flatpak_get_system_installations:" << (*error)->message; + } + for (uint i = 0; installations && i < installations->len; i++) { + m_installations << FLATPAK_INSTALLATION(g_ptr_array_index(installations, i)); + } + + auto user = flatpak_installation_new_user(m_cancellable, error); + if (user) { + m_installations << user; + } + + return !m_installations.isEmpty(); +} + +void FlatpakBackend::updateAppInstalledMetadata(FlatpakInstalledRef *installedRef, FlatpakResource *resource) +{ + // Update the rest + resource->updateFromRef(FLATPAK_REF(installedRef)); + resource->setInstalledSize(flatpak_installed_ref_get_installed_size(installedRef)); + resource->setOrigin(QString::fromUtf8(flatpak_installed_ref_get_origin(installedRef))); + if (resource->state() < AbstractResource::Installed) + resource->setState(AbstractResource::Installed); +} + +bool FlatpakBackend::updateAppMetadata(FlatpakInstallation* flatpakInstallation, FlatpakResource *resource) +{ + g_autoptr(GFile) installationPath = nullptr; + + if (resource->type() != FlatpakResource::DesktopApp) { + return true; + } + + installationPath = flatpak_installation_get_path(flatpakInstallation); + const QString path = QString::fromUtf8(g_file_get_path(installationPath)) + QStringLiteral("/app/%1/%2/%3/active/metadata").arg(resource->flatpakName()).arg(resource->arch()).arg(resource->branch()); + + if (QFile::exists(path)) { + return updateAppMetadata(resource, path); + } else { + auto fw = new QFutureWatcher(this); + connect(fw, &QFutureWatcher::finished, this, [this, flatpakInstallation, resource, fw]() { + const auto metadata = fw->result(); + if (!metadata.isEmpty()) + onFetchMetadataFinished(flatpakInstallation, resource, metadata); + fw->deleteLater(); + }); + fw->setFuture(QtConcurrent::run(&m_threadPool, &FlatpakRunnables::fetchMetadata, flatpakInstallation, resource)); + + // Return false to indicate we cannot continue (right now used only in updateAppSize()) + return false; + } +} + +void FlatpakBackend::onFetchMetadataFinished(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource, const QByteArray &metadata) +{ + updateAppMetadata(resource, metadata); + + // Right now we attempt to update metadata for calculating the size so call updateSizeFromRemote() + // as it's what we want. In future if there are other reason to update metadata we will need to somehow + // distinguish betwen these calls + updateAppSizeFromRemote(flatpakInstallation, resource); +} + +bool FlatpakBackend::updateAppMetadata(FlatpakResource *resource, const QString &path) +{ + // Parse the temporary file + QSettings setting(path, QSettings::NativeFormat); + setting.beginGroup(QLatin1String("Application")); + // Set the runtime in form of name/arch/version which can be later easily parsed + resource->setRuntime(setting.value(QLatin1String("runtime")).toString()); + // TODO get more information? + return true; +} + +bool FlatpakBackend::updateAppMetadata(FlatpakResource *resource, const QByteArray &data) +{ + //We just find the runtime with a regex, QSettings only can read from disk (and so does KConfig) + const QRegularExpression rx(QStringLiteral("runtime=(.*)")); + const auto match = rx.match(QString::fromUtf8(data)); + if (!match.isValid()) { + return false; + } + + resource->setRuntime(match.captured(1)); + return true; +} + +bool FlatpakBackend::updateAppSize(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource) +{ + // Check if the size is already set, we should also distiguish between download and installed size, + // right now it doesn't matter whether we get size for installed or not installed app, but if we + // start making difference then for not installed app check download and install size separately + + if (resource->state() == AbstractResource::Installed) { + // The size appears to be already set (from updateAppInstalledMetadata() apparently) + if (resource->installedSize() > 0) { + return true; + } + } else { + if (resource->installedSize() > 0 && resource->downloadSize() > 0) { + return true; + } + } + + // Check if we know the needed runtime which is needed for calculating the size + if (resource->runtime().isEmpty()) { + if (!updateAppMetadata(flatpakInstallation, resource)) { + return false; + } + } + + return updateAppSizeFromRemote(flatpakInstallation, resource); +} + +bool FlatpakBackend::updateAppSizeFromRemote(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource) +{ + // Calculate the runtime size + if (resource->state() == AbstractResource::None && resource->type() == FlatpakResource::DesktopApp) { + auto runtime = getRuntimeForApp(resource); + if (runtime) { + // Re-check runtime state if case a new one was created + updateAppState(flatpakInstallation, runtime); + + if (!runtime->isInstalled()) { + if (!updateAppSize(flatpakInstallation, runtime)) { + qWarning() << "Failed to get runtime size needed for total size of" << resource->name(); + return false; + } + // Set required download size to include runtime size even now, in case we fail to + // get the app size (e.g. when installing bundles where download size is 0) + resource->setDownloadSize(runtime->downloadSize()); + } + } + } + + if (resource->state() == AbstractResource::Installed) { + g_autoptr(FlatpakInstalledRef) ref = nullptr; + ref = getInstalledRefForApp(flatpakInstallation, resource); + if (!ref) { + qWarning() << "Failed to get installed size of" << resource->name(); + return false; + } + resource->setInstalledSize(flatpak_installed_ref_get_installed_size(ref)); + } else { + if (resource->origin().isEmpty()) { + qWarning() << "Failed to get size of" << resource->name() << " because of missing origin"; + return false; + } + + auto futureWatcher = new QFutureWatcher(this); + connect(futureWatcher, &QFutureWatcher::finished, this, [this, resource, futureWatcher]() { + auto value = futureWatcher->result(); + if (value.valid) { + onFetchSizeFinished(resource, value.downloadSize, value.installedSize); + } else { + resource->setPropertyState(FlatpakResource::DownloadSize, FlatpakResource::UnknownOrFailed); + resource->setPropertyState(FlatpakResource::InstalledSize, FlatpakResource::UnknownOrFailed); + } + futureWatcher->deleteLater(); + }); + futureWatcher->setFuture(QtConcurrent::run(&m_threadPool, &FlatpakRunnables::fetchFlatpakSize, flatpakInstallation, resource)); + } + + return true; +} + +void FlatpakBackend::onFetchSizeFinished(FlatpakResource *resource, guint64 downloadSize, guint64 installedSize) +{ + FlatpakResource *runtime = nullptr; + if (resource->state() == AbstractResource::None && resource->type() == FlatpakResource::DesktopApp) { + runtime = getRuntimeForApp(resource); + } + + if (runtime && !runtime->isInstalled()) { + resource->setDownloadSize(runtime->downloadSize() + downloadSize); + } else { + resource->setDownloadSize(downloadSize); + } + resource->setInstalledSize(installedSize); +} + +void FlatpakBackend::updateAppState(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource) +{ + FlatpakInstalledRef *ref = getInstalledRefForApp(flatpakInstallation, resource); + if (ref) { + // If the app is installed, we can set information about commit, arch etc. + updateAppInstalledMetadata(ref, resource); + } else { + // TODO check if the app is actuall still available + resource->setState(AbstractResource::None); + } +} + +void FlatpakBackend::acquireFetching(bool f) +{ + if (f) + m_isFetching++; + else + m_isFetching--; + + if ((!f && m_isFetching==0) || (f && m_isFetching==1)) { + emit fetchingChanged(); + } + + if (m_isFetching==0) + Q_EMIT initialized(); +} + +int FlatpakBackend::updatesCount() const +{ + return m_updater->updatesCount(); +} + +bool FlatpakBackend::flatpakResourceLessThan(AbstractResource* l, AbstractResource* r) const +{ + return (l->isInstalled() != r->isInstalled()) ? l->isInstalled() + : (l->origin() != r->origin()) ? m_sources->originIndex(l->origin()) < m_sources->originIndex(r->origin()) + : l < r; +} + +ResultsStream * FlatpakBackend::search(const AbstractResourcesBackend::Filters &filter) +{ + if (filter.resourceUrl.fileName().endsWith(QLatin1String(".flatpakrepo")) || filter.resourceUrl.fileName().endsWith(QLatin1String(".flatpakref"))) { + auto stream = new ResultsStream(QStringLiteral("FlatpakStream-http-")+filter.resourceUrl.fileName()); + + FlatpakFetchRemoteResourceJob *fetchResourceJob = new FlatpakFetchRemoteResourceJob(filter.resourceUrl, this); + connect(fetchResourceJob, &FlatpakFetchRemoteResourceJob::jobFinished, this, [fetchResourceJob, stream] (bool success, FlatpakResource *resource) { + if (success) { + stream->resourcesFound({resource}); + } + stream->finish(); + fetchResourceJob->deleteLater(); + }); + fetchResourceJob->start(); + + return stream; + } else if(filter.resourceUrl.scheme() == QLatin1String("appstream")) { + return findResourceByPackageName(filter.resourceUrl); + } else if (!filter.resourceUrl.isEmpty() || !filter.extends.isEmpty()) + return new ResultsStream(QStringLiteral("FlatpakStream-void"), {}); + + auto stream = new ResultsStream(QStringLiteral("FlatpakStream")); + auto f = [this, stream, filter] () { + QVector ret; + foreach(AbstractResource* r, m_resources) { + if (r->isTechnical() && filter.state != AbstractResource::Upgradeable) { + continue; + } + + if (r->state() < filter.state) + continue; + + if (filter.search.isEmpty() || r->name().contains(filter.search, Qt::CaseInsensitive) || r->comment().contains(filter.search, Qt::CaseInsensitive)) { + ret += r; + } + } + auto f = [this](AbstractResource* l, AbstractResource* r) { return flatpakResourceLessThan(l,r); }; + std::sort(ret.begin(), ret.end(), f); + if (!ret.isEmpty()) + Q_EMIT stream->resourcesFound(ret); + stream->finish(); + }; + if (isFetching()) { + connect(this, &FlatpakBackend::initialized, stream, f); + } else { + QTimer::singleShot(0, this, f); + } + return stream; +} + +QVector FlatpakBackend::resourcesByAppstreamName(const QString& name) const +{ + QVector resources; + foreach(FlatpakResource* res, m_resources) { + if (QString::compare(res->appstreamId(), name, Qt::CaseInsensitive)==0 || QString::compare(res->appstreamId(), name + QLatin1String(".desktop"), Qt::CaseInsensitive)==0) + resources << res; + } + auto f = [this](AbstractResource* l, AbstractResource* r) { return flatpakResourceLessThan(l, r); }; + std::sort(resources.begin(), resources.end(), f); + return resources; +} + +ResultsStream * FlatpakBackend::findResourceByPackageName(const QUrl &url) +{ + if (url.scheme() == QLatin1String("appstream")) { + if (url.host().isEmpty()) + passiveMessage(i18n("Malformed appstream url '%1'", url.toDisplayString())); + else { + auto stream = new ResultsStream(QStringLiteral("FlatpakStream")); + auto f = [this, stream, url] () { + const auto resources = resourcesByAppstreamName(url.host()); + if (!resources.isEmpty()) + Q_EMIT stream->resourcesFound(resources); + stream->finish(); + }; + + if (isFetching()) { + connect(this, &FlatpakBackend::initialized, stream, f); + } else { + QTimer::singleShot(0, this, f); + } + return stream; + } + } + return new ResultsStream(QStringLiteral("FlatpakStream-packageName-void"), {}); +} + +AbstractBackendUpdater * FlatpakBackend::backendUpdater() const +{ + return m_updater; +} + +AbstractReviewsBackend * FlatpakBackend::reviewsBackend() const +{ + return m_reviews.data(); +} + +Transaction* FlatpakBackend::installApplication(AbstractResource *app, const AddonList &addons) +{ + Q_UNUSED(addons); + + FlatpakResource *resource = qobject_cast(app); + + if (resource->type() == FlatpakResource::Source) { + // Let source backend handle this + FlatpakRemote *remote = m_sources->installSource(resource); + if (remote) { + resource->setState(AbstractResource::Installed); + m_refreshAppstreamMetadataJobs++; + // Make sure we update appstream metadata first + // FIXME we have to let flatpak to return the remote as the one created by FlatpakSourcesBackend will not have appstream directory + refreshAppstreamMetadata(preferredInstallation(), flatpak_installation_get_remote_by_name(preferredInstallation(), flatpak_remote_get_name(remote), nullptr, nullptr)); + } + return nullptr; + } + + FlatpakJobTransaction *transaction = nullptr; + FlatpakInstallation *installation = resource->installation(); + + if (resource->propertyState(FlatpakResource::RequiredRuntime) == FlatpakResource::NotKnownYet && resource->type() == FlatpakResource::DesktopApp) { + transaction = new FlatpakJobTransaction(resource, Transaction::InstallRole, true); + connect(resource, &FlatpakResource::propertyStateChanged, [resource, transaction, this] (FlatpakResource::PropertyKind kind, FlatpakResource::PropertyState state) { + if (kind != FlatpakResource::RequiredRuntime) { + return; + } + + if (state == FlatpakResource::AlreadyKnown) { + FlatpakResource *runtime = getRuntimeForApp(resource); + if (runtime && !runtime->isInstalled()) { + transaction->setRuntime(runtime); + } + } + transaction->start(); + }); + } else { + FlatpakResource *runtime = getRuntimeForApp(resource); + if (runtime && !runtime->isInstalled()) { + transaction = new FlatpakJobTransaction(resource, runtime, Transaction::InstallRole); + } else { + transaction = new FlatpakJobTransaction(resource, Transaction::InstallRole); + } + } + + connect(transaction, &FlatpakJobTransaction::statusChanged, [this, installation, resource] (Transaction::Status status) { + if (status == Transaction::Status::DoneStatus) { + updateAppState(installation, resource); + } + }); + return transaction; +} + +Transaction* FlatpakBackend::installApplication(AbstractResource *app) +{ + return installApplication(app, {}); +} + +Transaction* FlatpakBackend::removeApplication(AbstractResource *app) +{ + FlatpakResource *resource = qobject_cast(app); + + if (resource->type() == FlatpakResource::Source) { + // Let source backend handle this + if (m_sources->removeSource(resource->flatpakName())) { + resource->setState(AbstractResource::None); + } + return nullptr; + } + + FlatpakInstallation *installation = resource->installation(); + FlatpakJobTransaction *transaction = new FlatpakJobTransaction(resource, Transaction::RemoveRole); + + connect(transaction, &FlatpakJobTransaction::statusChanged, [this, installation, resource] (Transaction::Status status) { + if (status == Transaction::Status::DoneStatus) { + updateAppSize(installation, resource); + } + }); + return transaction; +} + +void FlatpakBackend::checkForUpdates() +{ + for (auto installation : qAsConst(m_installations)) { + // Load local updates, comparing current and latest commit + loadLocalUpdates(installation); + + // Load updates from remote repositories + loadRemoteUpdates(installation); + } +} + +AbstractResource * FlatpakBackend::resourceForFile(const QUrl &url) +{ + if (!url.isLocalFile()) { + return nullptr; + } + + FlatpakResource *resource = nullptr; + if (url.path().endsWith(QLatin1String(".flatpak"))) { + resource = addAppFromFlatpakBundle(url); + } else if (url.path().endsWith(QLatin1String(".flatpakref"))) { + resource = addAppFromFlatpakRef(url); + } else if (url.path().endsWith(QLatin1String(".flatpakrepo"))) { + resource = addSourceFromFlatpakRepo(url); + } + + return resource; +} + +QString FlatpakBackend::displayName() const +{ + return QStringLiteral("Flatpak"); +} + +#include "FlatpakBackend.moc" diff --git a/libdiscover/backends/FlatpakBackend/FlatpakBackend.h b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h new file mode 100644 index 0000000..3c5aa69 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h @@ -0,0 +1,120 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FLATPAKBACKEND_H +#define FLATPAKBACKEND_H + +#include "FlatpakResource.h" + +#include +#include +#include +#include + +#include + +extern "C" { +#include +} + +class QAction; +class FlatpakSourcesBackend; +class StandardBackendUpdater; +class OdrsReviewsBackend; +class FlatpakBackend : public AbstractResourcesBackend +{ + Q_OBJECT +public: + explicit FlatpakBackend(QObject *parent = nullptr); + ~FlatpakBackend(); + + int updatesCount() const override; + AbstractBackendUpdater * backendUpdater() const override; + AbstractReviewsBackend * reviewsBackend() const override; + ResultsStream * search(const AbstractResourcesBackend::Filters & search) override; + ResultsStream * findResourceByPackageName(const QUrl &search); + QList resources() const { return m_resources.values(); } + bool isValid() const override; + + Transaction* installApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app, const AddonList& addons) override; + Transaction* removeApplication(AbstractResource* app) override; + bool isFetching() const override { return m_isFetching>0; } + AbstractResource * resourceForFile(const QUrl & ) override; + void checkForUpdates() override; + QString displayName() const override; + bool hasApplications() const override { return true; } + FlatpakResource * addSourceFromFlatpakRepo(const QUrl &url); + +private Q_SLOTS: + void onFetchMetadataFinished(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource, const QByteArray &metadata); + void onFetchSizeFinished(FlatpakResource *resource, guint64 downloadSize, guint64 installedSize); + void onFetchUpdatesFinished(FlatpakInstallation *flatpakInstallation, GPtrArray *updates); + +Q_SIGNALS: //for tests + void initialized(); + +private: + bool flatpakResourceLessThan(AbstractResource* l, AbstractResource* r) const; + void announceRatingsReady(); + FlatpakInstallation * preferredInstallation() const { return m_installations.constFirst(); } + void integrateRemote(FlatpakInstallation *flatpakInstallation, FlatpakRemote *remote); + FlatpakRemote * getFlatpakRemoteByUrl(const QString &url, FlatpakInstallation *installation) const; + FlatpakInstalledRef * getInstalledRefForApp(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource) const; + FlatpakResource * getAppForInstalledRef(FlatpakInstallation *flatpakInstallation, FlatpakInstalledRef *ref) const; + FlatpakResource * getRuntimeForApp(FlatpakResource *resource) const; + + FlatpakResource * addAppFromFlatpakBundle(const QUrl &url); + FlatpakResource * addAppFromFlatpakRef(const QUrl &url); + void addResource(FlatpakResource *resource); + void loadAppsFromAppstreamData(); + bool loadAppsFromAppstreamData(FlatpakInstallation *flatpakInstallation); + void loadInstalledApps(); + bool loadInstalledApps(FlatpakInstallation *flatpakInstallation); + void loadLocalUpdates(FlatpakInstallation *flatpakInstallation); + void loadRemoteUpdates(FlatpakInstallation *flatpakInstallation); + bool parseMetadataFromAppBundle(FlatpakResource *resource); + void refreshAppstreamMetadata(FlatpakInstallation *installation, FlatpakRemote *remote); + bool setupFlatpakInstallations(GError **error); + void updateAppInstalledMetadata(FlatpakInstalledRef *installedRef, FlatpakResource *resource); + bool updateAppMetadata(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource); + bool updateAppMetadata(FlatpakResource *resource, const QByteArray &data); + bool updateAppMetadata(FlatpakResource *resource, const QString &path); + bool updateAppSize(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource); + bool updateAppSizeFromRemote(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource); + void updateAppState(FlatpakInstallation *flatpakInstallation, FlatpakResource *resource); + + QVector resourcesByAppstreamName(const QString &name) const; + void acquireFetching(bool f); + + QHash m_resources; + StandardBackendUpdater *m_updater; + FlatpakSourcesBackend *m_sources = nullptr; + QSharedPointer m_reviews; + uint m_isFetching = 0; + uint m_refreshAppstreamMetadataJobs; + + GCancellable *m_cancellable; + QVector m_installations; + QThreadPool m_threadPool; +}; + +#endif // FLATPAKBACKEND_H diff --git a/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.cpp b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.cpp new file mode 100644 index 0000000..cf98bb0 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakFetchDataJob.h" +#include "FlatpakResource.h" + +#include + +static FlatpakRef * createFakeRef(FlatpakResource *resource) +{ + FlatpakRef *ref = nullptr; + g_autoptr(GError) localError = nullptr; + + const QString id = QStringLiteral("%1/%2/%3/%4").arg(resource->typeAsString(), resource->flatpakName(), resource->arch(), resource->branch()); + ref = flatpak_ref_parse(id.toUtf8().constData(), &localError); + + if (!ref) { + qWarning() << "Failed to create fake ref: " << localError->message; + } + + return ref; +} + +namespace FlatpakRunnables +{ +QByteArray fetchMetadata(FlatpakInstallation *installation, FlatpakResource *app) +{ + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(GError) localError = nullptr; + + if (app->origin().isEmpty()) { + qWarning() << "Failed to get metadata file because of missing origin"; + return {}; + } + + g_autoptr(FlatpakRef) fakeRef = createFakeRef(app); + if (!fakeRef) { + return {}; + } + + QByteArray metadataContent; + g_autoptr(GBytes) data = flatpak_installation_fetch_remote_metadata_sync(installation, app->origin().toUtf8().constData(), fakeRef, cancellable, &localError); + if (data) { + gsize len = 0; + auto buff = g_bytes_get_data(data, &len); + metadataContent = QByteArray((const char*) buff, len); + } else { + qWarning() << "Failed to get metadata file: " << localError->message; + return {}; + } + + if (metadataContent.isEmpty()) { + qWarning() << "Failed to get metadata file: empty metadata"; + return {}; + } + + return metadataContent; +} + +SizeInformation fetchFlatpakSize(FlatpakInstallation *installation, FlatpakResource *app) +{ + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(GError) localError = nullptr; + + SizeInformation ret; + g_autoptr(FlatpakRef) ref = createFakeRef(app); + if (!ref) { + return ret; + } + + if (!flatpak_installation_fetch_remote_size_sync(installation, app->origin().toUtf8().constData(), ref, &ret.downloadSize, &ret.installedSize, cancellable, &localError)) { + qWarning() << "Failed to get remote size of " << app->name() << ": " << localError->message; + return ret; + } + + ret.valid = true; + return ret; +} + +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h new file mode 100644 index 0000000..3998fee --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h @@ -0,0 +1,47 @@ +/*************************************************************************** + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FLATPAKFETCHDATAJOB_H +#define FLATPAKFETCHDATAJOB_H + +#include +extern "C" { +#include +#include +} + +class FlatpakResource; + +namespace FlatpakRunnables +{ + struct SizeInformation { + bool valid = false; + guint64 downloadSize; + guint64 installedSize; + }; + + SizeInformation fetchFlatpakSize(FlatpakInstallation *installation, FlatpakResource *app); + + QByteArray fetchMetadata(FlatpakInstallation *installation, FlatpakResource *app); +} + +#endif // FLATPAKFETCHDATAJOB_H + + diff --git a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp new file mode 100644 index 0000000..51edc0e --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp @@ -0,0 +1,213 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakJobTransaction.h" +#include "FlatpakBackend.h" +#include "FlatpakResource.h" +#include "FlatpakTransactionThread.h" + +#include +#include + +extern "C" { +#include +#include +#include +} + +FlatpakJobTransaction::FlatpakJobTransaction(FlatpakResource *app, Role role, bool delayStart) + : FlatpakJobTransaction(app, nullptr, role, delayStart) +{ +} + +FlatpakJobTransaction::FlatpakJobTransaction(FlatpakResource *app, FlatpakResource *runtime, Transaction::Role role, bool delayStart) + : Transaction(app->backend(), app, role, {}) + , m_app(app) + , m_runtime(runtime) +{ + setCancellable(true); + setStatus(QueuedStatus); + + if (!delayStart) { + QTimer::singleShot(0, this, &FlatpakJobTransaction::start); + } +} + +FlatpakJobTransaction::~FlatpakJobTransaction() +{ + for(auto job : m_jobs) { + if (!job->isFinished()) { + connect(job, &QThread::finished, job, &QObject::deleteLater); + } else + delete job; + } +} + +void FlatpakJobTransaction::cancel() +{ + //note it's possible to have a job cancelled before it ever started as + //sometimes we're delaying the start until we have the runtime + foreach (const QPointer &job, m_jobs) { + job->cancel(); + } + setStatus(CancelledStatus); +} + +void FlatpakJobTransaction::setRuntime(FlatpakResource *runtime) +{ + m_runtime = runtime; +} + +void FlatpakJobTransaction::start() +{ + setStatus(CommittingStatus); + if (m_runtime) { + QPointer job = new FlatpakTransactionThread(m_runtime, {}, role()); + connect(job, &FlatpakTransactionThread::finished, this, &FlatpakJobTransaction::onJobFinished); + connect(job, &FlatpakTransactionThread::progressChanged, this, &FlatpakJobTransaction::onJobProgressChanged); + m_jobs << job; + + processRelatedRefs(m_runtime); + } + + // App job will be added everytime + m_appJob = new FlatpakTransactionThread(m_app, {}, role()); + connect(m_appJob, &FlatpakTransactionThread::finished, this, &FlatpakJobTransaction::onJobFinished); + connect(m_appJob, &FlatpakTransactionThread::progressChanged, this, &FlatpakJobTransaction::onJobProgressChanged); + m_jobs << m_appJob; + + processRelatedRefs(m_app); + + + // Now start all the jobs together + foreach (const QPointer &job, m_jobs) { + job->start(); + } +} + +void FlatpakJobTransaction::processRelatedRefs(FlatpakResource* resource) +{ + g_autoptr(GPtrArray) refs = nullptr; + g_autoptr(GError) error = nullptr; + g_autoptr(GCancellable) cancellable = g_cancellable_new();; + QList additionalResources; + + g_autofree gchar *ref = g_strdup_printf ("%s/%s/%s/%s", + resource->typeAsString().toUtf8().constData(), + resource->flatpakName().toUtf8().constData(), + resource->arch().toUtf8().constData(), + resource->branch().toUtf8().constData()); + + if (role() == Transaction::Role::InstallRole) { + if (resource->state() == AbstractResource::Upgradeable) { + refs = flatpak_installation_list_installed_related_refs_sync(resource->installation(), resource->origin().toUtf8().constData(), ref, cancellable, &error); + if (error) { + qWarning() << "Failed to list installed related refs for update: " << error->message; + } + } else { + refs = flatpak_installation_list_remote_related_refs_sync(resource->installation(), resource->origin().toUtf8().constData(), ref, cancellable, &error); + if (error) { + qWarning() << "Failed to list related refs for installation: " << error->message; + } + } + } else if (role() == Transaction::Role::RemoveRole) { + refs = flatpak_installation_list_installed_related_refs_sync(resource->installation(), resource->origin().toUtf8().constData(), ref, cancellable, &error); + if (error) { + qWarning() << "Failed to list installed related refs for removal: " << error->message; + } + } + + if (refs) { + for (uint i = 0; i < refs->len; i++) { + FlatpakRef *flatpakRef = FLATPAK_REF(g_ptr_array_index(refs, i)); + if (flatpak_related_ref_should_download(FLATPAK_RELATED_REF(flatpakRef))) { + QPointer job = new FlatpakTransactionThread(resource, QPair(QString::fromUtf8(flatpak_ref_get_name(flatpakRef)), flatpak_ref_get_kind(flatpakRef)), role()); + connect(job, &FlatpakTransactionThread::finished, this, &FlatpakJobTransaction::onJobFinished); + connect(job, &FlatpakTransactionThread::progressChanged, this, &FlatpakJobTransaction::onJobProgressChanged); + // Add to the list of all jobs + m_jobs << job; + } + } + } +} + +void FlatpakJobTransaction::onJobFinished() +{ + FlatpakTransactionThread *job = static_cast(sender()); + + if (job != m_appJob) { + if (!job->result()) { + Q_EMIT passiveMessage(job->errorMessage()); + } + + // Mark runtime as installed + if (m_runtime && job->app()->flatpakName() == m_runtime->flatpakName() && !job->isRelated() && role() != Transaction::Role::RemoveRole) { + if (job->result()) { + m_runtime->setState(AbstractResource::Installed); + } + } + } + + foreach (const QPointer &job, m_jobs) { + if (job->isRunning()) { + return; + } + } + + // No other job is running → finish transaction + finishTransaction(); +} + +void FlatpakJobTransaction::onJobProgressChanged(int progress) +{ + Q_UNUSED(progress); + + int total = 0; + + // Count progress from all the jobs + foreach (const QPointer &job, m_jobs) { + total += job->progress(); + } + + setProgress(total / m_jobs.count()); +} + +void FlatpakJobTransaction::finishTransaction() +{ + if (m_appJob->result()) { + AbstractResource::State newState = AbstractResource::None; + switch(role()) { + case InstallRole: + case ChangeAddonsRole: + newState = AbstractResource::Installed; + break; + case RemoveRole: + newState = AbstractResource::None; + break; + } + + m_app->setState(newState); + + setStatus(DoneStatus); + } else { + setStatus(DoneWithErrorStatus); + } +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h new file mode 100644 index 0000000..f07acf9 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h @@ -0,0 +1,64 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FLATPAKJOBTRANSACTION_H +#define FLATPAKJOBTRANSACTION_H + +#include +#include + +extern "C" { +#include +#include +#include +} + +class FlatpakResource; +class FlatpakTransactionThread; +class FlatpakJobTransaction : public Transaction +{ +Q_OBJECT +public: + FlatpakJobTransaction(FlatpakResource *app, Role role, bool delayStart = false); + FlatpakJobTransaction(FlatpakResource *app, FlatpakResource *runtime, Role role, bool delayStart = false); + + ~FlatpakJobTransaction(); + + void cancel() override; + void setRuntime(FlatpakResource *runtime); + +public Q_SLOTS: + void onJobFinished(); + void onJobProgressChanged(int progress); + void finishTransaction(); + void start(); + +private: + void processRelatedRefs(FlatpakResource *resource); + void updateProgress(); + + QPointer m_app; + QPointer m_runtime; + QPointer m_appJob; + QList > m_jobs; +}; + +#endif // FLATPAKJOBTRANSACTION_H diff --git a/libdiscover/backends/FlatpakBackend/FlatpakNotifier.cpp b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.cpp new file mode 100644 index 0000000..c810596 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.cpp @@ -0,0 +1,185 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakNotifier.h" + +#include + +#include +#include +#include +#include + +static void installationChanged(GFileMonitor *monitor, GFile *child, GFile *other_file, GFileMonitorEvent event_type, gpointer self) +{ + Q_UNUSED(monitor); + Q_UNUSED(child); + Q_UNUSED(other_file); + Q_UNUSED(event_type); + + FlatpakNotifier *notifier = (FlatpakNotifier*)self; + if (!notifier) { + return; + } + + notifier->checkUpdates(); +} + +FlatpakNotifier::FlatpakNotifier(QObject* parent) + : BackendNotifierModule(parent) + , m_userInstallationUpdates(0) + , m_systemInstallationUpdates(0) +{ + m_cancellable = g_cancellable_new(); + + checkUpdates(); + + QTimer *dailyCheck = new QTimer(this); + dailyCheck->setInterval(24 * 60 * 60 * 1000); //refresh at least once every day + connect(dailyCheck, &QTimer::timeout, this, &FlatpakNotifier::checkUpdates); +} + +FlatpakNotifier::~FlatpakNotifier() +{ + g_object_unref(m_userInstallationMonitor); + g_object_unref(m_systemInstallationMonitor); + g_object_unref(m_flatpakInstallationSystem); + g_object_unref(m_flatpakInstallationUser); + g_object_unref(m_cancellable); +} + +void FlatpakNotifier::recheckSystemUpdateNeeded() +{ + checkUpdates(); +} + +uint FlatpakNotifier::securityUpdatesCount() +{ + return 0; +} + +uint FlatpakNotifier::updatesCount() +{ + return m_systemInstallationUpdates + m_userInstallationUpdates; +} + +void FlatpakNotifier::checkUpdates() +{ + g_autoptr(GError) error = nullptr; + + // Load flatpak installation + if (!setupFlatpakInstallations(&error)) { + qWarning() << "Failed to setup flatpak installations: " << error->message; + } else { + // Load updates from remote repositories + loadRemoteUpdates(m_flatpakInstallationSystem); + loadRemoteUpdates(m_flatpakInstallationUser); + } +} + +void FlatpakNotifier::onFetchUpdatesFinished(FlatpakInstallation *flatpakInstallation, GPtrArray *updates) +{ + bool changed = false; + uint validUpdates = 0; + + g_autoptr(GPtrArray) fetchedUpdates = updates; + + for (uint i = 0; i < fetchedUpdates->len; i++) { + FlatpakInstalledRef *ref = FLATPAK_INSTALLED_REF(g_ptr_array_index(fetchedUpdates, i)); + const QString refName = QString::fromUtf8(flatpak_ref_get_name(FLATPAK_REF(ref))); + // FIXME right now I can't think of any other filter than this, in FlatpakBackend updates are matched + // with apps so .Locale/.Debug subrefs are not shown and updated automatically. Also this will show + // updates for refs we don't show in Discover if appstream metadata or desktop file for them is not found + if (refName.endsWith(QStringLiteral(".Locale")) || refName.endsWith(QStringLiteral(".Debug"))) { + continue; + } + validUpdates++; + } + + if (flatpak_installation_get_is_user(flatpakInstallation)) { + changed = m_userInstallationUpdates != validUpdates; + m_userInstallationUpdates = validUpdates; + } else { + changed = m_systemInstallationUpdates != validUpdates; + m_systemInstallationUpdates = validUpdates; + } + + if (changed) { + Q_EMIT foundUpdates(); + } +} + +void FlatpakNotifier::loadRemoteUpdates(FlatpakInstallation *installation) +{ + auto fw = new QFutureWatcher(this); + fw->setFuture(QtConcurrent::run( [installation]() -> GPtrArray * { + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(GError) localError = nullptr; + GPtrArray *refs = flatpak_installation_list_installed_refs_for_update(installation, cancellable, &localError); + if (!refs) { + qWarning() << "Failed to get list of installed refs for listing updates: " << localError->message; + } + return refs; + })); + connect(fw, &QFutureWatcher::finished, this, [this, installation, fw](){ + auto refs = fw->result(); + if (refs) + onFetchUpdatesFinished(installation, refs); + fw->deleteLater(); + }); +} + +bool FlatpakNotifier::setupFlatpakInstallations(GError **error) +{ + if (!m_flatpakInstallationSystem) { + m_flatpakInstallationSystem = flatpak_installation_new_system(m_cancellable, error); + if (!m_flatpakInstallationSystem) { + return false; + } + } + + if (!m_flatpakInstallationUser) { + m_flatpakInstallationUser = flatpak_installation_new_user(m_cancellable, error); + if (!m_flatpakInstallationUser) { + return false; + } + } + + if (!m_systemInstallationMonitor) { + m_systemInstallationMonitor = flatpak_installation_create_monitor(m_flatpakInstallationSystem, m_cancellable, error); + if (!m_systemInstallationMonitor) { + return false; + } + + g_signal_connect(m_systemInstallationMonitor, "changed", G_CALLBACK(installationChanged), this); + } + + if (!m_userInstallationMonitor) { + m_userInstallationMonitor = flatpak_installation_create_monitor(m_flatpakInstallationUser, m_cancellable, error); + if (!m_userInstallationMonitor) { + return false; + } + + g_signal_connect(m_userInstallationMonitor, "changed", G_CALLBACK(installationChanged), this); + } + + return true; +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h new file mode 100644 index 0000000..8b392ce --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h @@ -0,0 +1,61 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ +#ifndef FLATPAKNOTIFIER_H +#define FLATPAKNOTIFIER_H + +#include + +extern "C" { +#include +} + +class FlatpakNotifier : public BackendNotifierModule +{ +Q_OBJECT +Q_PLUGIN_METADATA(IID "org.kde.discover.BackendNotifierModule") +Q_INTERFACES(BackendNotifierModule) +public: + explicit FlatpakNotifier(QObject* parent = nullptr); + ~FlatpakNotifier() override; + + void recheckSystemUpdateNeeded() override; + uint securityUpdatesCount() override; + uint updatesCount() override; + bool needsReboot() const override { return false; } + +public Q_SLOTS: + void checkUpdates(); + void onFetchUpdatesFinished(FlatpakInstallation *flatpakInstallation, GPtrArray *updates); + +private: + void loadRemoteUpdates(FlatpakInstallation *flatpakInstallation); + bool setupFlatpakInstallations(GError **error); + + uint m_userInstallationUpdates; + uint m_systemInstallationUpdates; + GCancellable *m_cancellable; + GFileMonitor *m_userInstallationMonitor = nullptr; + GFileMonitor *m_systemInstallationMonitor = nullptr; + FlatpakInstallation *m_flatpakInstallationUser = nullptr; + FlatpakInstallation *m_flatpakInstallationSystem = nullptr; +}; + +#endif diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp new file mode 100644 index 0000000..df6fda3 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp @@ -0,0 +1,545 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakResource.h" +#include "FlatpakBackend.h" + +#include + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static QString iconCachePath(const AppStream::Icon &icon) +{ + Q_ASSERT(icon.kind() == AppStream::Icon::KindRemote); + return QStringLiteral("%1/icons/%2").arg(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)).arg(icon.url().fileName()); +} + +FlatpakResource::FlatpakResource(const AppStream::Component &component, FlatpakInstallation* installation, FlatpakBackend *parent) + : AbstractResource(parent) + , m_appdata(component) + , m_id({installation, QString(), FlatpakResource::DesktopApp, component.id(), QString(), QString() }) + , m_downloadSize(0) + , m_installedSize(0) + , m_propertyStates({{DownloadSize, NotKnownYet}, {InstalledSize, NotKnownYet},{RequiredRuntime, NotKnownYet}}) + , m_state(AbstractResource::None) +{ + setObjectName(packageName()); + + // Start fetching remote icons during initialization + const auto icons = m_appdata.icons(); + if (!icons.isEmpty()) { + foreach (const AppStream::Icon &icon, icons) { + if (icon.kind() == AppStream::Icon::KindRemote) { + const QString fileName = iconCachePath(icon); + if (!QFileInfo::exists(fileName)) { + const QDir cacheDir(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)); + // Create $HOME/.cache/discover/icons folder + cacheDir.mkdir(QStringLiteral("icons")); + QNetworkAccessManager *manager = new QNetworkAccessManager(this); + connect(manager, &QNetworkAccessManager::finished, [this, icon, fileName, manager] (QNetworkReply *reply) { + if (reply->error() == QNetworkReply::NoError) { + QByteArray iconData = reply->readAll(); + QFile file(fileName); + if (file.open(QIODevice::WriteOnly)) { + file.write(iconData); + } + file.close(); + Q_EMIT iconChanged(); + } + manager->deleteLater(); + }); + manager->get(QNetworkRequest(icon.url())); + } + } + } + } +} + +AppStream::Component FlatpakResource::appstreamComponent() const +{ + return m_appdata; +} + +QList FlatpakResource::addonsInformation() +{ + return {}; +} + +QString FlatpakResource::availableVersion() const +{ + QString theBranch = branch(); + if (theBranch.isEmpty()) { + theBranch = i18n("Unknown"); + } + + if (!m_appdata.releases().isEmpty()) { + auto release = m_appdata.releases().constFirst(); + return i18n("%1 (%2)", release.version(), theBranch); + } + + return theBranch; +} + +QString FlatpakResource::appstreamId() const +{ + return m_id.id; +} + +QString FlatpakResource::arch() const +{ + return m_id.arch; +} + +QString FlatpakResource::branch() const +{ + return m_id.branch; +} + +bool FlatpakResource::canExecute() const +{ + return (m_id.type == DesktopApp && (m_state == AbstractResource::Installed || m_state == AbstractResource::Upgradeable)); +} + +void FlatpakResource::updateFromRef(FlatpakRef* ref) +{ + setArch(QString::fromUtf8(flatpak_ref_get_arch(ref))); + setBranch(QString::fromUtf8(flatpak_ref_get_branch(ref))); + setCommit(QString::fromUtf8(flatpak_ref_get_commit(ref))); + setFlatpakName(QString::fromUtf8(flatpak_ref_get_name(ref))); + setType(flatpak_ref_get_kind(ref) == FLATPAK_REF_KIND_APP ? FlatpakResource::DesktopApp : FlatpakResource::Runtime); + setObjectName(packageName()); +} + +QStringList FlatpakResource::categories() +{ + auto cats = m_appdata.categories(); + if (m_appdata.kind() != AppStream::Component::KindAddon) + cats.append(QStringLiteral("Application")); + return cats; +} + +QString FlatpakResource::comment() +{ + const auto summary = m_appdata.summary(); + if (!summary.isEmpty()) { + return summary; + } + + return QString(); +} + +QString FlatpakResource::commit() const +{ + return m_commit; +} + +int FlatpakResource::downloadSize() const +{ + return m_downloadSize; +} + +QVariant FlatpakResource::icon() const +{ + QIcon ret; + const auto icons = m_appdata.icons(); + + if (!m_bundledIcon.isNull()) { + ret = QIcon(m_bundledIcon); + } else if (icons.isEmpty()) { + ret = QIcon::fromTheme(QStringLiteral("package-x-generic")); + } else foreach(const AppStream::Icon &icon, icons) { + switch (icon.kind()) { + case AppStream::Icon::KindLocal: + case AppStream::Icon::KindCached: { + const QString path = m_iconPath + icon.url().path(); + if (QFileInfo::exists(path)) { + ret.addFile(path, icon.size()); + } else { + const QString altPath = m_iconPath + QStringLiteral("%1x%2/").arg(icon.size().width()).arg(icon.size().height()) + icon.url().path(); + if (QFileInfo::exists(altPath)) { + ret.addFile(altPath, icon.size()); + } + } + } break; + case AppStream::Icon::KindStock: { + const auto ret = QIcon::fromTheme(icon.name()); + if (!ret.isNull()) + return ret; + break; + } + case AppStream::Icon::KindRemote: { + const QString fileName = iconCachePath(icon); + if (QFileInfo::exists(fileName)) { + ret.addFile(fileName, icon.size()); + } + break; + } + case AppStream::Icon::KindUnknown: + break; + } + } + + if (ret.isNull()) { + ret = QIcon::fromTheme(QStringLiteral("package-x-generic")); + } + + return ret; +} + +QString FlatpakResource::installedVersion() const +{ + // TODO check if there is actually version available + QString version = branch(); + if (version.isEmpty()) { + version = i18n("Unknown"); + } + + return version; +} + +int FlatpakResource::installedSize() const +{ + return m_installedSize; +} + +bool FlatpakResource::isTechnical() const +{ + return m_id.type == FlatpakResource::Runtime; +} + +QUrl FlatpakResource::homepage() +{ + return m_appdata.url(AppStream::Component::UrlKindHomepage); +} + +QUrl FlatpakResource::helpURL() +{ + return m_appdata.url(AppStream::Component::UrlKindHelp); +} + +QUrl FlatpakResource::bugURL() +{ + return m_appdata.url(AppStream::Component::UrlKindBugtracker); +} + +QUrl FlatpakResource::donationURL() +{ + return m_appdata.url(AppStream::Component::UrlKindDonation); +} + +QString FlatpakResource::flatpakFileType() const +{ + return m_flatpakFileType; +} + +QString FlatpakResource::flatpakName() const +{ + // If the flatpak name is not known (known only for installed apps), then use + // appstream id instead; + if (m_flatpakName.isEmpty()) { + return m_id.id; + } + + return m_flatpakName; +} + +QString FlatpakResource::license() +{ + return m_appdata.projectLicense(); +} + +QString FlatpakResource::longDescription() +{ + return m_appdata.description(); +} + +QString FlatpakResource::name() const +{ + QString name = m_appdata.name(); + if (name.isEmpty()) { + name = flatpakName(); + } + + if (name.startsWith(QLatin1String("(Nightly) "))) { + return name.mid(10); + } + + return name; +} + +QString FlatpakResource::origin() const +{ + return m_id.origin; +} + +QString FlatpakResource::packageName() const +{ + return flatpakName() + QLatin1Char('/') + arch() + QLatin1Char('/') + branch(); +} + +FlatpakResource::PropertyState FlatpakResource::propertyState(FlatpakResource::PropertyKind kind) const +{ + return m_propertyStates[kind]; +} + +QUrl FlatpakResource::resourceFile() const +{ + return m_resourceFile; +} + +QString FlatpakResource::runtime() const +{ + return m_runtime; +} + +QString FlatpakResource::section() +{ + return QString(); +} + +int FlatpakResource::size() +{ + if (m_state == Installed) { + return m_installedSize; + } else { + return m_downloadSize; + } +} + +QString FlatpakResource::sizeDescription() +{ + KFormat f; + if (!isInstalled() || canUpgrade()) { + if (propertyState(DownloadSize) == NotKnownYet || propertyState(InstalledSize) == NotKnownYet) { + return i18n("Retrieving size information"); + } else if (propertyState(DownloadSize) == UnknownOrFailed || propertyState(InstalledSize) == UnknownOrFailed) { + return i18n("Unknown size"); + } else { + return i18nc("@info app size", "%1 to download, %2 on disk", f.formatByteSize(downloadSize()), f.formatByteSize(installedSize())); + } + } else { + if (propertyState(InstalledSize) == NotKnownYet) { + return i18n("Retrieving size information"); + } else if (propertyState(InstalledSize) == UnknownOrFailed) { + return i18n("Unknown size"); + } else { + return i18nc("@info app size", "%1 on disk", f.formatByteSize(installedSize())); + } + } +} + +AbstractResource::State FlatpakResource::state() +{ + return m_state; +} + +FlatpakResource::ResourceType FlatpakResource::type() const +{ + return m_id.type; +} + +QString FlatpakResource::typeAsString() const +{ + switch (m_id.type) { + case FlatpakResource::DesktopApp: + case FlatpakResource::Source: + return QLatin1String("app"); + case FlatpakResource::Runtime: + return QLatin1String("runtime"); + default: + return QLatin1String("app"); + } +} + +FlatpakResource::Id FlatpakResource::uniqueId() const +{ + return m_id; +} + +void FlatpakResource::invokeApplication() const +{ + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(GError) localError = nullptr; + + if (!flatpak_installation_launch(m_id.installation, + flatpakName().toUtf8().constData(), + arch().toUtf8().constData(), + branch().toUtf8().constData(), + nullptr, + cancellable, + &localError)) { + qWarning() << "Failed to launch " << m_appdata.name() << ": " << localError->message; + } +} + +void FlatpakResource::fetchChangelog() +{ + emit changelogFetched(AppStreamUtils::changelogToHtml(m_appdata)); +} + +void FlatpakResource::fetchScreenshots() +{ + const auto sc = AppStreamUtils::fetchScreenshots(m_appdata); + Q_EMIT screenshotsFetched(sc.first, sc.second); +} + +void FlatpakResource::setArch(const QString &arch) +{ + m_id.arch = arch; +} + +void FlatpakResource::setBranch(const QString &branch) +{ + m_id.branch = branch; +} + +void FlatpakResource::setBundledIcon(const QPixmap &pixmap) +{ + m_bundledIcon = pixmap; +} + +void FlatpakResource::setCommit(const QString &commit) +{ + m_commit = commit; +} + +void FlatpakResource::setDownloadSize(int size) +{ + m_downloadSize = size; + + setPropertyState(DownloadSize, AlreadyKnown); + + Q_EMIT sizeChanged(); +} + +void FlatpakResource::setFlatpakFileType(const QString &fileType) +{ + m_flatpakFileType = fileType; +} + +void FlatpakResource::setFlatpakName(const QString &name) +{ + m_flatpakName = name; +} + +void FlatpakResource::setIconPath(const QString &path) +{ + m_iconPath = path; +} + +void FlatpakResource::setInstalledSize(int size) +{ + m_installedSize = size; + + setPropertyState(InstalledSize, AlreadyKnown); + + Q_EMIT sizeChanged(); +} + +void FlatpakResource::setOrigin(const QString &origin) +{ + m_id.origin = origin; +} + +void FlatpakResource::setPropertyState(FlatpakResource::PropertyKind kind, FlatpakResource::PropertyState newState) +{ + auto & state = m_propertyStates[kind]; + if (state != newState) { + state = newState; + + Q_EMIT propertyStateChanged(kind, newState); + } +} + +void FlatpakResource::setResourceFile(const QUrl &url) +{ + m_resourceFile = url; +} + +void FlatpakResource::setRuntime(const QString &runtime) +{ + m_runtime = runtime; + + setPropertyState(RequiredRuntime, AlreadyKnown); +} + +void FlatpakResource::setState(AbstractResource::State state) +{ + if (m_state != state) { + m_state = state; + + if (!backend()->isFetching()) + Q_EMIT stateChanged(); + } +} + +void FlatpakResource::setType(FlatpakResource::ResourceType type) +{ + m_id.type = type; +} + +QString FlatpakResource::installationPath() const +{ + return installationPath(m_id.installation); +} + +QString FlatpakResource::installationPath(FlatpakInstallation* flatpakInstallation) +{ + g_autoptr(GFile) path = flatpak_installation_get_path(flatpakInstallation); + return QString::fromUtf8(g_file_get_path(path)); +} + +QUrl FlatpakResource::url() const +{ + return m_resourceFile.isEmpty() ? QUrl(QStringLiteral("appstream://") + appstreamId()) : m_resourceFile; +} + +QDate FlatpakResource::releaseDate() const +{ + if (!m_appdata.releases().isEmpty()) { + auto release = m_appdata.releases().constFirst(); + return release.timestamp().date(); + } + + return {}; +} + +QString FlatpakResource::sourceIcon() const +{ + return QStringLiteral("flatpak-discover"); +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.h b/libdiscover/backends/FlatpakBackend/FlatpakResource.h new file mode 100644 index 0000000..191c212 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.h @@ -0,0 +1,187 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FLATPAKRESOURCE_H +#define FLATPAKRESOURCE_H + +#include + +extern "C" { +#include +} + +#include + +#include + +class AddonList; +class FlatpakBackend; +class FlatpakResource : public AbstractResource +{ +Q_OBJECT +public: + explicit FlatpakResource(const AppStream::Component &component, FlatpakInstallation* installation, FlatpakBackend *parent); + + enum PropertyKind { + DownloadSize = 0, + InstalledSize, + RequiredRuntime + }; + + enum PropertyState { + NotKnownYet = 0, + AlreadyKnown, + UnknownOrFailed, + }; + + enum ResourceType { + DesktopApp = 0, + Runtime, + Source + }; + + struct Id { + FlatpakInstallation * installation; + QString origin; + FlatpakResource::ResourceType type; + QString id; + QString branch; + QString arch; + bool operator!=(const Id& other) const { return !operator==(other); } + bool operator==(const Id& other) const { return &other == this || ( + other.installation == installation + && other.origin == origin + && other.type == type + && other.id == id + && other.branch == branch + && other.arch == arch + ); } + }; + + static QString typeAsString(ResourceType type) { + if (type == DesktopApp) { + return QLatin1String("app"); + } + return QLatin1String("runtime"); + } + + QString installationPath() const; + static QString installationPath(FlatpakInstallation* installation); + + AppStream::Component appstreamComponent() const; + QList addonsInformation() override; + QString availableVersion() const override; + QString appstreamId() const override; + QString arch() const; + QString branch() const; + bool canExecute() const override; + QStringList categories() override; + QString comment() override; + QString commit() const; + int downloadSize() const; + QVariant icon() const override; + QString installedVersion() const override; + int installedSize() const; + bool isTechnical() const override; + QUrl homepage() override; + QUrl helpURL() override; + QUrl bugURL() override; + QUrl donationURL() override; + QString flatpakFileType() const; + QString flatpakName() const; + QString license() override; + QString longDescription() override; + QString name() const override; + QString origin() const override; + QString packageName() const override; + PropertyState propertyState(PropertyKind kind) const; + QUrl resourceFile() const; + QString runtime() const; + QString section() override; + int size() override; + QString sizeDescription() override; + AbstractResource::State state() override; + ResourceType type() const; + QString typeAsString() const; + FlatpakResource::Id uniqueId() const; + QUrl url() const override; + QDate releaseDate() const override; + + FlatpakInstallation* installation() const { return m_id.installation; } + + void invokeApplication() const override; + void fetchChangelog() override; + void fetchScreenshots() override; + + void setBranch(const QString &branch); + void setBundledIcon(const QPixmap &pixmap); + void setDownloadSize(int size); + void setIconPath(const QString &path); + void setInstalledSize(int size); + void setFlatpakFileType(const QString &fileType); + void setFlatpakName(const QString &name); + void setOrigin(const QString &origin); + void setPropertyState(PropertyKind kind, PropertyState state); + void setResourceFile(const QUrl &url); + void setRuntime(const QString &runtime); + void setState(State state); + void setType(ResourceType type); +// void setAddons(const AddonList& addons); +// void setAddonInstalled(const QString& addon, bool installed); + + void updateFromRef(FlatpakRef* ref); + QString sourceIcon() const override; + +Q_SIGNALS: + void propertyStateChanged(PropertyKind kind, PropertyState state); + +private: + void setArch(const QString &arch); + void setCommit(const QString &commit); + + const AppStream::Component m_appdata; + FlatpakResource::Id m_id; + FlatpakRefKind m_flatpakRefKind; + QPixmap m_bundledIcon; + QString m_commit; + int m_downloadSize; + QString m_flatpakFileType; + QString m_flatpakName; + QString m_iconPath; + int m_installedSize; + QHash m_propertyStates; + QUrl m_resourceFile; + QString m_runtime; + AbstractResource::State m_state; +}; + +inline uint qHash(const FlatpakResource::Id &key) +{ + return qHash(key.installation) + ^ qHash(key.origin) + ^ qHash(key.type) + ^ qHash(key.id) + ^ qHash(key.branch) + ^ qHash(key.arch) + ; +} + +#endif // FLATPAKRESOURCE_H diff --git a/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp new file mode 100644 index 0000000..ba11f89 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp @@ -0,0 +1,308 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakSourcesBackend.h" +#include "FlatpakResource.h" +#include "FlatpakBackend.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +class FlatpakSourceItem : public QStandardItem +{ +public: + FlatpakSourceItem(const QString &text) : QStandardItem(text) { } + void setFlatpakInstallation(FlatpakInstallation *installation) { m_installation = installation; } + FlatpakInstallation *flatpakInstallation() const { return m_installation; } + +private: + FlatpakInstallation *m_installation; +}; + +FlatpakSourcesBackend::FlatpakSourcesBackend(const QVector &installations, AbstractResourcesBackend * parent) + : AbstractSourcesBackend(parent) + , m_preferredInstallation(installations.constFirst()) + , m_sources(new QStandardItemModel(this)) + , m_flathubAction(new QAction(i18n("Add Flathub"), this)) + , m_noSourcesItem(new QStandardItem(QStringLiteral("-"))) +{ + m_flathubAction->setToolTip(QStringLiteral("flathub")); + connect(m_flathubAction, &QAction::triggered, this, [this](){ + addSource(QStringLiteral("https://flathub.org/repo/flathub.flatpakrepo")); + }); + for (auto installation : installations) { + if (!listRepositories(installation)) { + qWarning() << "Failed to list repositories from installation" << installation; + } + } + + m_noSourcesItem->setEnabled(false); + if (m_sources->rowCount() == 0) { + m_sources->appendRow(m_noSourcesItem); + } +} + +FlatpakSourcesBackend::~FlatpakSourcesBackend() +{ + QStringList ids; + for (int i = 0, c = m_sources->rowCount(); iitem(i); + ids << it->data(IdRole).toString(); + } + + auto conf = KSharedConfig::openConfig(); + KConfigGroup group = conf->group("FlatpakSources"); + group.writeEntry("Sources", ids); +} + +QAbstractItemModel* FlatpakSourcesBackend::sources() +{ + return m_sources; +} + +bool FlatpakSourcesBackend::addSource(const QString &id) +{ + FlatpakBackend* backend = qobject_cast(parent()); + const QUrl flatpakrepoUrl(id); + + if (id.isEmpty() || !flatpakrepoUrl.isValid()) + return false; + + if (flatpakrepoUrl.isLocalFile()) { + auto res = backend->addSourceFromFlatpakRepo(flatpakrepoUrl); + if (res) + backend->installApplication(res); + else + backend->passiveMessage(i18n("Could not add the source %1", flatpakrepoUrl.toDisplayString())); + } else { + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = flatpakrepoUrl; + auto stream = new StoredResultsStream ({backend->search(filter)}); + connect(stream, &StoredResultsStream::finished, this, [backend, stream, flatpakrepoUrl]() { + const auto res = stream->resources(); + if (!res.isEmpty()) { + Q_ASSERT(res.count() == 1); + backend->installApplication(res.first()); + } else { + backend->passiveMessage(i18n("Could not add the source %1", flatpakrepoUrl.toDisplayString())); + } + }); + } + return true; +} + +QStandardItem * FlatpakSourcesBackend::sourceById(const QString& id) const +{ + QStandardItem* sourceIt = nullptr; + for (int i = 0, c = m_sources->rowCount(); iitem(i); + if (it->data(IdRole) == id) { + sourceIt = it; + break; + } + } + return sourceIt; +} + +bool FlatpakSourcesBackend::removeSource(const QString &id) +{ + auto sourceIt = sourceById(id); + if (sourceIt) { + FlatpakSourceItem *sourceItem = static_cast(sourceIt); + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(GError) error = nullptr; + if (flatpak_installation_remove_remote(sourceItem->flatpakInstallation(), id.toUtf8().constData(), cancellable, &error)) { + m_sources->removeRow(sourceItem->row()); + + if (m_sources->rowCount() == 0) { + m_sources->appendRow(m_noSourcesItem); + } + return true; + } else { + qWarning() << "Failed to remove " << id << " remote repository:" << error->message; + return false; + } + } else { + qWarning() << "couldn't find " << id; + return false; + } + + return false; +} + +QList FlatpakSourcesBackend::actions() const +{ + return { m_flathubAction }; +} + +bool FlatpakSourcesBackend::listRepositories(FlatpakInstallation* installation) +{ + Q_ASSERT(installation); + + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(GPtrArray) remotes = flatpak_installation_list_remotes(installation, cancellable, nullptr); + + if (!remotes) { + return false; + } + + for (uint i = 0; i < remotes->len; i++) { + FlatpakRemote *remote = FLATPAK_REMOTE(g_ptr_array_index(remotes, i)); + + if (flatpak_remote_get_noenumerate(remote)) { + continue; + } + + addRemote(remote, installation); + } + + return true; +} + +FlatpakRemote * FlatpakSourcesBackend::installSource(FlatpakResource *resource) +{ + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + + auto remote = flatpak_installation_get_remote_by_name(m_preferredInstallation, resource->flatpakName().toUtf8().constData(), cancellable, nullptr); + if (remote) { + qWarning() << "Source " << resource->flatpakName() << " already exists"; + return nullptr; + } + + remote = flatpak_remote_new(resource->flatpakName().toUtf8().constData()); + flatpak_remote_set_url(remote, resource->getMetadata(QStringLiteral("repo-url")).toString().toUtf8().constData()); + flatpak_remote_set_noenumerate(remote, false); + flatpak_remote_set_title(remote, resource->comment().toUtf8().constData()); + + const QString gpgKey = resource->getMetadata(QStringLiteral("gpg-key")).toString(); + if (!gpgKey.isEmpty()) { + gsize dataLen = 0; + g_autofree guchar *data = nullptr; + g_autoptr(GBytes) bytes = nullptr; + data = g_base64_decode(gpgKey.toUtf8().constData(), &dataLen); + bytes = g_bytes_new(data, dataLen); + flatpak_remote_set_gpg_verify(remote, true); + flatpak_remote_set_gpg_key(remote, bytes); + } else { + flatpak_remote_set_gpg_verify(remote, false); + } + + if (!resource->branch().isEmpty()) { + flatpak_remote_set_default_branch(remote, resource->branch().toUtf8().constData()); + } + + if (!flatpak_installation_modify_remote(m_preferredInstallation, remote, cancellable, nullptr)) { + qWarning() << "Failed to add source " << resource->flatpakName(); + return nullptr; + } + + addRemote(remote, m_preferredInstallation); + + return remote; +} + +void FlatpakSourcesBackend::addRemote(FlatpakRemote *remote, FlatpakInstallation *installation) +{ + const QString id = QString::fromUtf8(flatpak_remote_get_name(remote)); + const QString title = QString::fromUtf8(flatpak_remote_get_title(remote)); + const QUrl remoteUrl(QString::fromUtf8(flatpak_remote_get_url(remote))); + + for(QAction *action: actions()) { + if (action->toolTip() == id) { + action->setEnabled(false); + action->setVisible(false); + } + } + + FlatpakSourceItem *it = new FlatpakSourceItem(!title.isEmpty() ? title : id); + it->setCheckState(flatpak_remote_get_disabled(remote) ? Qt::Unchecked : Qt::Checked); + it->setData(remoteUrl.isLocalFile() ? remoteUrl.toLocalFile() : remoteUrl.host(), Qt::ToolTipRole); + it->setData(id, IdRole); + it->setFlatpakInstallation(installation); + + int idx = -1; + { + const auto conf = KSharedConfig::openConfig(); + const KConfigGroup group = conf->group("FlatpakSources"); + const auto ids = group.readEntry("Sources", QStringList()); + + const auto ourIdx = ids.indexOf(id); + if (ourIdx<0) { //If not present, we put it on top + idx = 0; + } else { + idx=0; + for(int c=m_sources->rowCount(); idxitem(idx); + const int compIdx = ids.indexOf(compIt->data(IdRole).toString()); + if (compIdx >= ourIdx) { + break; + } + } + } + } + + m_sources->insertRow(idx, it); + if (m_sources->rowCount() == 1) + Q_EMIT firstSourceIdChanged(); + Q_EMIT lastSourceIdChanged(); + + if (m_sources->rowCount() > 0) { + m_sources->takeRow(m_noSourcesItem->row()); + } +} + +QString FlatpakSourcesBackend::idDescription() +{ + return i18n("Flatpak repository URI (*.flatpakrepo)"); +} + +bool FlatpakSourcesBackend::moveSource(const QString& sourceId, int delta) +{ + auto item = sourceById(sourceId); + if (!item) + return false; + const auto row = item->row(); + auto prevRow = m_sources->takeRow(row); + Q_ASSERT(!prevRow.isEmpty()); + + const auto destRow = row + (delta>0? delta : delta); + m_sources->insertRow(destRow, prevRow); + if (destRow == 0 || row == 0) + Q_EMIT firstSourceIdChanged(); + if (destRow == m_sources->rowCount() - 1 || row == m_sources->rowCount() - 1) + Q_EMIT lastSourceIdChanged(); + return true; +} + +int FlatpakSourcesBackend::originIndex(const QString& sourceId) const +{ + auto item = sourceById(sourceId); + return item ? item->row() : INT_MAX; +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h new file mode 100644 index 0000000..8ac11e2 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h @@ -0,0 +1,65 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FLATPAKSOURCESBACKEND_H +#define FLATPAKSOURCESBACKEND_H + +#include +#include + +extern "C" { +#include +} + +class FlatpakResource; +class FlatpakSourcesBackend : public AbstractSourcesBackend +{ +Q_OBJECT +public: + explicit FlatpakSourcesBackend(const QVector& installations, AbstractResourcesBackend *parent); + ~FlatpakSourcesBackend() override; + + QAbstractItemModel* sources() override; + bool addSource(const QString &id) override; + bool removeSource(const QString &id) override; + QString idDescription() override; + QList actions() const override; + bool supportsAdding() const override { return true; } + bool canFilterSources() const override { return true; } + + FlatpakRemote * installSource(FlatpakResource *resource); + bool canMoveSources() const override { return true; } + + bool moveSource(const QString & sourceId, int delta) override; + int originIndex(const QString& sourceId) const; + +private: + QStandardItem* sourceById(const QString & sourceId) const; + bool listRepositories(FlatpakInstallation *installation); + void addRemote(FlatpakRemote *remote, FlatpakInstallation *installation); + + FlatpakInstallation *m_preferredInstallation; + QStandardItemModel* m_sources; + QAction* const m_flathubAction; + QStandardItem* m_noSourcesItem; +}; + +#endif // FLATPAKSOURCESBACKEND_H diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp new file mode 100644 index 0000000..c8f1293 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp @@ -0,0 +1,179 @@ +/*************************************************************************** + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FlatpakTransactionThread.h" +#include "FlatpakResource.h" + +#include + +static void flatpakInstallationProgressCallback(const gchar *stats, guint progress, gboolean estimating, gpointer userData) +{ + Q_UNUSED(estimating); + Q_UNUSED(stats); + + FlatpakTransactionThread *transactionJob = (FlatpakTransactionThread*)userData; + if (!transactionJob) { + return; + } + + transactionJob->setProgress(progress); +} + +FlatpakTransactionThread::FlatpakTransactionThread(FlatpakResource *app, const QPair &relatedRef, Transaction::Role role) + : QThread() + , m_result(false) + , m_progress(0) + , m_relatedRef(relatedRef.first) + , m_relatedRefKind(relatedRef.second) + , m_app(app) + , m_role(role) +{ + m_cancellable = g_cancellable_new(); +} + +FlatpakTransactionThread::~FlatpakTransactionThread() +{ + g_object_unref(m_cancellable); +} + +void FlatpakTransactionThread::cancel() +{ + g_cancellable_cancel(m_cancellable); +} + +void FlatpakTransactionThread::run() +{ + g_autoptr(GError) localError = nullptr; + g_autoptr(FlatpakInstalledRef) ref = nullptr; + + const QString refName = m_relatedRef.isEmpty() ? m_app->flatpakName() : m_relatedRef; + const uint kind = m_relatedRef.isEmpty() ? (uint)m_app->type() : m_relatedRefKind; + + if (m_role == Transaction::Role::InstallRole) { + bool installRelatedRef = false; + // Before we attempt to upgrade related refs we should verify whether they are installed in first place + if (m_app->state() == AbstractResource::Upgradeable && !m_relatedRef.isEmpty()) { + g_autoptr(GError) installedRefError = nullptr; + FlatpakInstalledRef *installedRef = flatpak_installation_get_installed_ref(m_app->installation(), + kind == FlatpakResource::DesktopApp ? FLATPAK_REF_KIND_APP : FLATPAK_REF_KIND_RUNTIME, + refName.toUtf8().constData(), + m_app->arch().toUtf8().constData(), + m_app->branch().toUtf8().constData(), + m_cancellable, &installedRefError); + if (installedRefError) { + qWarning() << "Failed to check whether related ref is installed: " << installedRefError; + } + installRelatedRef = installedRef == nullptr; + } + + if (m_app->state() == AbstractResource::Upgradeable && !installRelatedRef) { + ref = flatpak_installation_update(m_app->installation(), + FLATPAK_UPDATE_FLAGS_NONE, + kind == FlatpakResource::DesktopApp ? FLATPAK_REF_KIND_APP : FLATPAK_REF_KIND_RUNTIME, + refName.toUtf8().constData(), + m_app->arch().toUtf8().constData(), + m_app->branch().toUtf8().constData(), + flatpakInstallationProgressCallback, + this, + m_cancellable, &localError); + } else { + if (m_app->flatpakFileType() == QStringLiteral("flatpak")) { + g_autoptr(GFile) file = g_file_new_for_path(m_app->resourceFile().toLocalFile().toUtf8().constData()); + if (!file) { + qWarning() << "Failed to install bundled application" << refName; + } + ref = flatpak_installation_install_bundle(m_app->installation(), file, flatpakInstallationProgressCallback, this, m_cancellable, &localError); + } else { + ref = flatpak_installation_install(m_app->installation(), + m_app->origin().toUtf8().constData(), + kind == FlatpakResource::DesktopApp ? FLATPAK_REF_KIND_APP : FLATPAK_REF_KIND_RUNTIME, + refName.toUtf8().constData(), + m_app->arch().toUtf8().constData(), + m_app->branch().toUtf8().constData(), + flatpakInstallationProgressCallback, + this, + m_cancellable, &localError); + } + } + + if (!ref) { + m_result = false; + m_errorMessage = QString::fromUtf8(localError->message); + // We are done so we can set the progress to 100 + setProgress(100); + qWarning() << "Failed to install" << refName << ':' << m_errorMessage; + return; + } + } else if (m_role == Transaction::Role::RemoveRole) { + if (!flatpak_installation_uninstall(m_app->installation(), + kind == FlatpakResource::DesktopApp ? FLATPAK_REF_KIND_APP : FLATPAK_REF_KIND_RUNTIME, + refName.toUtf8().constData(), + m_app->arch().toUtf8().constData(), + m_app->branch().toUtf8().constData(), + flatpakInstallationProgressCallback, + this, + m_cancellable, &localError)) { + m_result = false; + m_errorMessage = QString::fromUtf8(localError->message); + // We are done so we can set the progress to 100 + setProgress(100); + qWarning() << "Failed to uninstall" << refName << ':' << m_errorMessage; + return; + } + } + + // We are done so we can set the progress to 100 + m_result = true; + setProgress(100); +} + +FlatpakResource * FlatpakTransactionThread::app() const +{ + return m_app; +} + +bool FlatpakTransactionThread::isRelated() const +{ + return !m_relatedRef.isEmpty(); +} + +int FlatpakTransactionThread::progress() const +{ + return m_progress; +} + +void FlatpakTransactionThread::setProgress(int progress) +{ + if (m_progress != progress) { + m_progress = progress; + Q_EMIT progressChanged(m_progress); + } +} + +QString FlatpakTransactionThread::errorMessage() const +{ + return m_errorMessage; +} + +bool FlatpakTransactionThread::result() const +{ + return m_result; +} + diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h new file mode 100644 index 0000000..34c7235 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h @@ -0,0 +1,69 @@ +/*************************************************************************** + * Copyright © 2017 Jan Grulich * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FLATPAKTRANSACTIONTHREAD_H +#define FLATPAKTRANSACTIONTHREAD_H + +extern "C" { +#include +#include +#include +} + +#include +#include + +class FlatpakResource; +class FlatpakTransactionThread : public QThread +{ +Q_OBJECT +public: + FlatpakTransactionThread(FlatpakResource *app, const QPair &relatedRef, Transaction::Role role); + ~FlatpakTransactionThread() override; + + void cancel(); + void run() override; + + FlatpakResource * app() const; + + bool isRelated() const; + + int progress() const; + void setProgress(int progress); + + QString errorMessage() const; + bool result() const; + +Q_SIGNALS: + void progressChanged(int progress); + +private: + bool m_result; + int m_progress; + QString m_errorMessage; + QString m_relatedRef; + uint m_relatedRefKind; + GCancellable *m_cancellable; + FlatpakResource *m_app; + Transaction::Role m_role; +}; + +#endif // FLATPAKTRANSACTIONJOB_H + diff --git a/libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml b/libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml new file mode 100644 index 0000000..e0108f2 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml @@ -0,0 +1,551 @@ + + + + + Applications + applications-internet + pkcategories/applicationcrop.jpg + + + Application + + + + Accessories + applications-utilities + pkcategories/accessoriescrop.jpg + + + Utility + Accessibility + + + + + + Accessibility + preferences-desktop-accessibility + pkcategories/accesscropped.jpg + + + Accessibility + Settings + + + + + + Developer Tools + pkcategories/toolcrop.jpg + applications-development + + + Development + + + + + Debugging + tools-report-bug + + + Debugger + + + + + + Graphic Interface Design + + + GUIDesigner + + + + + + IDEs + + + IDE + + + + + + Localization + preferences-desktop-locale + + + Translation + + + + + + Profiling + + + Profiling + + + + + + Web Development + + + WebDevelopment + + + applications-internet + + + + + + + Education + applications-education + pkcategories/educationcrop.jpg + + + Education + + + + + + + Science and Engineering + pkcategories/sciencecrop.jpg + applications-science + + + Science + Engineering + + + + Astronomy + + + Astronomy + + + + + Biology + + + Biology + + + + + Chemistry + applications-science + + + Chemistry + + + + + Computer Science and Robotics + computer + + + ArtificialIntelligence + ComputerScience + Robotics + + + + + Electronics + audio-card + + + Electronics + + + + + Engineering + applications-engineering + + + Engineering + + + + + Geography + + + Geography + + + + + Geology + + + Geology + Geoscience + + + + + Mathematics + applications-education-mathematics + + + DataVisualization + Math + NumericalAnalysis + + + + + Physics + step + + + Physics + + + + + + + Games + pkcategories/gamecrop.jpg + applications-games + + + Game + + + + + Arcade + applications-games-arcade + + + ArcadeGame + + + + + Board Games + applications-games-board + + + BoardGame + + + + + Card Games + applications-games-card + + + CardGame + + + + + Puzzles + applications-games + + + LogicGame + + + + + Role Playing + applications-games + + + RolePlaying + + + + + Simulation + applications-games-strategy + + + Simulation + + + + + Strategy + applications-games-strategy + + + StrategyGame + + + + + Sports + applications-games + + + SportsGame + + + + + Action + applications-games + + + ActionGame + + + + + Emulators + applications-games + + + Emulator + + + + + + + + + Graphics + pkcategories/graphiccrop.jpg + applications-graphics + + + Graphics + + + + 3D + + + 3DGraphics + + + + + Drawing + draw-freehand + + + VectorGraphics + + Viewer + + + + + + Painting and Editing + draw-brush + + + RasterGraphics + + Viewer + Scanning + + + + + + Photography + image-x-generic + + + Photography + + + + + Publishing + document-export + + + Publishing + + + + + Scanning and OCR + scanner + + + Scanning + OCR + + + + + Viewers + graphics-viewer-document + + + Viewer + + + + + + + + Internet + applications-internet + pkcategories/internetcrop.jpg + + + Network + + + + Chat + kopete + + + InstantMessaging + IRCClient + + + + + File Sharing + ktorrent + + + FileTransfer + + + + + Mail + internet-mail + + + Email + + + + + Web Browsers + internet-web-browser + + + WebBrowser + + + + + + + + Multimedia + pkcategories/multimediacrop.jpg + applications-multimedia + + + AudioVideo + + + + + Audio and Video Editors + edit-cut + + + AudioVideoEditing + + + + + Audio Players + audio-headphones + + + + AudioVideo + Audio + + + Video + AudioVideoEditing + DiscBurning + Music + Sequencer + Mixer + Utility + + + + + + Video Players + emblem-videos-symbolic + + + + AudioVideo + Video + + + Audio + AudioVideoEditing + DiscBurning + Utility + + + + + + CD and DVD + media-optical + + + DiscBurning + + + + + + + + Office + pkcategories/officecrop.jpg + applications-office + + + Office + + + + + + System Settings + pkcategories/settingscrop.jpg + preferences-system + + + Settings + System + + + + + + diff --git a/libdiscover/backends/FlatpakBackend/org.kde.discover-flatpak.desktop b/libdiscover/backends/FlatpakBackend/org.kde.discover-flatpak.desktop new file mode 100644 index 0000000..cfaec67 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/org.kde.discover-flatpak.desktop @@ -0,0 +1,49 @@ +[Desktop Entry] +Name=Discover +Name[ar]=استكشف +Name[ast]=Discover +Name[ca]=Discover +Name[ca@valencia]=Discover +Name[da]=Discover +Name[de]=Discover +Name[el]=Discover +Name[en_GB]=Discover +Name[es]=Discover +Name[et]=Avastusretk +Name[eu]=Discover +Name[fi]=Discover +Name[fr]=Discover +Name[gl]=Descubrir +Name[he]=מרכז התוכנות Discover +Name[hu]=Discover +Name[ia]=Discoperi +Name[id]=Discover +Name[it]=Discover +Name[ko]=발견 +Name[nl]=Ontdekken +Name[nn]=Discover +Name[pa]=ਖੋਜ +Name[pl]=Odkrywca +Name[pt]=Discover +Name[pt_BR]=Discover +Name[ru]=Discover +Name[sk]=Objaviť +Name[sl]=Discover +Name[sr]=Oткривач +Name[sr@ijekavian]=Oткривач +Name[sr@ijekavianlatin]=Otkrivač +Name[sr@latin]=Otkrivač +Name[sv]=Upptäck +Name[tr]=Keşfet +Name[uk]=Discover +Name[x-test]=xxDiscoverxx +Name[zh_CN]=发现 +Name[zh_TW]=Discover +Exec=plasma-discover %U +Icon=plasmadiscover +Type=Application +X-DocPath=plasma-discover/index.html +Categories=Qt;KDE;System; +NoDisplay=true + +MimeType=application/vnd.flatpak.ref;application/vnd.flatpak;application/vnd.flatpak.repo diff --git a/libdiscover/backends/FlatpakBackend/org.kde.discover.flatpak.appdata.xml b/libdiscover/backends/FlatpakBackend/org.kde.discover.flatpak.appdata.xml new file mode 100644 index 0000000..8fc45c5 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/org.kde.discover.flatpak.appdata.xml @@ -0,0 +1,96 @@ + + + org.kde.discover.flatpak + Flatpak backend + سَند فلاتپاك + Dorsal del Flatpak + Dorsal del Flatpak + Podpůrná vrstva Flatpak + Flatpak-Backend + Flatpak backend + Motor Flatpak + Flatpak bizkarraldeakoa + Flatpak-taustaosa + Moteur Flatpak + Infraestrutura de Flatpak + Backend Flatpak + Motore Flatpak + Flatpak 백엔드 + Flatpak-motor + Flatpak-backend + Flatpak-motor + Silnik Flatpak + Infra-estrutura do Flatpak + Infraestrutura Flatpak + Модуль для работы с форматом Flatpak + Backend Flatpak + Zaledje Flatpak + Gränssnitt för Flatpak + Модуль Flatpak + xxFlatpak backendxx + Flatpak 后端 + Flatpak 後端 + Integrates Flatpak applications into Discover + يُكامل تطبيقات ”فلاتپاك“ في «استكشف» + Integra aplicacions del Flatpak al Discover + Integra aplicacions del Flatpak al Discover + Integriert Flatpak-Anwendungen in Discover + Integrates Flatpak applications into Discover + Integra aplicaciones Flatpak en Discover + Flatpak aplikazioak Discover-ren integratzen ditu + Yhdistää Flatpak-sovellukset Discoveriin + Intègre les applications Flatpak au sein de Discover + Integra aplicativos de Flatpak con Discover + Aplikasi Flatpak terintegrasi ke dalam Discover + Integra le applicazioni Flatpak in Discover + Flatpak 프로그램을 발견에 통합 + Integrerer Flatpak-programmer i Discover + Integreert Flatpak-toepassingen in Discover + Integrerer Flatpak-program i Discover + Integruje aplikacje Flatpak w Odkrywcy + Integra as aplicações do Flatpak no Discover + Integra aplicativos Flatpak no Discover + Добавление поддержки формата Flatpak в центр программ Discover + Integruje aplikácie Flatpad do Discoveru + V Discover vgradi programe Flatpack + Integrerar Flatpak-program i Discover + Інтеграція програм Flatpak з Discover + xxIntegrates Flatpak applications into Discoverxx + 将 Flatpak 应用程序集成到发现者中 + 將 Flatpak 應用程式整合進 Discover 商店 + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol González + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + xxAleix Pol Gonzalezxx + Aleix Pol Gonzalez + Aleix Pol Gonzalez + system-software-install + diff --git a/libdiscover/backends/FlatpakBackend/sc-apps-flatpak-discover.svg b/libdiscover/backends/FlatpakBackend/sc-apps-flatpak-discover.svg new file mode 100644 index 0000000..fc53a65 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/sc-apps-flatpak-discover.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libdiscover/backends/FlatpakBackend/tests/CMakeLists.txt b/libdiscover/backends/FlatpakBackend/tests/CMakeLists.txt new file mode 100644 index 0000000..306619b --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/tests/CMakeLists.txt @@ -0,0 +1 @@ +add_unit_test(flatpaktest FlatpakTest.cpp) diff --git a/libdiscover/backends/FlatpakBackend/tests/FlatpakTest.cpp b/libdiscover/backends/FlatpakBackend/tests/FlatpakTest.cpp new file mode 100644 index 0000000..94751ef --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/tests/FlatpakTest.cpp @@ -0,0 +1,163 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +class FlatpakTest + : public QObject +{ + Q_OBJECT +public: + AbstractResourcesBackend* backendByName(ResourcesModel* m, const QString& name) + { + QVector backends = m->backends(); + foreach(AbstractResourcesBackend* backend, backends) { + if(QLatin1String(backend->metaObject()->className()) == name) { + return backend; + } + } + return nullptr; + } + + FlatpakTest(QObject* parent = nullptr): QObject(parent) + { + qputenv("FLATPAK_TEST_MODE", "ON"); + m_model = new ResourcesModel(QStringLiteral("flatpak-backend"), this); + m_appBackend = backendByName(m_model, QStringLiteral("FlatpakBackend")); + } + +private Q_SLOTS: + void init() + { + QVERIFY(m_appBackend); + while(m_appBackend->isFetching()) { + QSignalSpy spy(m_appBackend, &AbstractResourcesBackend::fetchingChanged); + QVERIFY(spy.wait()); + } + } + + void testAddSource() + { + auto res = getAllResources(m_appBackend); + QCOMPARE(res.count(), 0); + + auto m = SourcesModel::global(); + auto bk = qobject_cast(m->index(0, 0).data(SourcesModel::SourcesBackend).value()); + + QSignalSpy initializedSpy(m_appBackend, SIGNAL(initialized())); + if (m->rowCount() == 1) { + QSignalSpy spy(m, &SourcesModel::rowsInserted); + bk->actions().constFirst()->trigger(); + QVERIFY(spy.count() || spy.wait()); + } + QVERIFY(initializedSpy.count() || initializedSpy.wait()); + auto resFlathub = getAllResources(m_appBackend); + QVERIFY(resFlathub.count() > 0); + } + + void testListOrigin() + { + AbstractResourcesBackend::Filters f; + f.origin = QStringLiteral("flathub"); + auto resources= getResources(m_appBackend->search(f), true); + QVERIFY(resources.count()>0); + } + + void testInstallApp() + { + AbstractResourcesBackend::Filters f; + f.resourceUrl = QUrl(QStringLiteral("appstream://com.github.rssguard.desktop")); + const auto res = getResources(m_appBackend->search(f)); + QVERIFY(res.count() == 1); + + const auto resRssguard = res.constFirst(); + QCOMPARE(resRssguard->state(), AbstractResource::None); + waitTransaction(m_appBackend->installApplication(resRssguard)); + QCOMPARE(resRssguard->state(), AbstractResource::Installed); + waitTransaction(m_appBackend->removeApplication(resRssguard)); + QCOMPARE(resRssguard->state(), AbstractResource::None); + } + + void testCancelInstallation() + { + AbstractResourcesBackend::Filters f; + f.resourceUrl = QUrl(QStringLiteral("appstream://com.github.rssguard.desktop")); + const auto res = getResources(m_appBackend->search(f)); + QVERIFY(res.count() == 1); + + const auto resRssguard = res.constFirst(); + QCOMPARE(resRssguard->state(), AbstractResource::None); + auto t = m_appBackend->installApplication(resRssguard); + QSignalSpy spy(t, &Transaction::statusChanged); + QVERIFY(spy.wait()); + QCOMPARE(t->status(), Transaction::CommittingStatus); + t->cancel(); + QCOMPARE(t->status(), Transaction::CancelledStatus); + } + +private: + void waitTransaction(Transaction* t) { + QSignalSpy spyInstalled(t->resource(), &AbstractResource::stateChanged); + QSignalSpy destructionSpy(t, &QObject::destroyed); + while (t && spyInstalled.count() == 0) { + qDebug() << t->status() << t->progress(); + spyInstalled.wait(100); + } + QVERIFY(destructionSpy.count() || destructionSpy.wait()); + } + + QVector getResources(ResultsStream* stream, bool canBeEmpty = true) + { + Q_ASSERT(stream); + QSignalSpy spyResources(stream, &ResultsStream::destroyed); + QVector resources; + connect(stream, &ResultsStream::resourcesFound, this, [&resources](const QVector& res) { resources += res; }); + Q_ASSERT(spyResources.wait(10000)); + Q_ASSERT(!resources.isEmpty() || canBeEmpty); + return resources; + } + + QVector getAllResources(AbstractResourcesBackend* backend) + { + AbstractResourcesBackend::Filters f; + if (CategoryModel::global()->rootCategories().isEmpty()) + CategoryModel::global()->populateCategories(); + f.category = CategoryModel::global()->rootCategories().constFirst(); + return getResources(backend->search(f), true); + } + + ResourcesModel* m_model; + AbstractResourcesBackend* m_appBackend; +}; + +QTEST_MAIN(FlatpakTest) + +#include "FlatpakTest.moc" diff --git a/libdiscover/backends/FwupdBackend/CMakeLists.txt b/libdiscover/backends/FwupdBackend/CMakeLists.txt new file mode 100644 index 0000000..b46a7ee --- /dev/null +++ b/libdiscover/backends/FwupdBackend/CMakeLists.txt @@ -0,0 +1,14 @@ +add_definitions( -DPROJECT_NAME=${PROJECT_NAME} -DPROJECT_VERSION=${PROJECT_VERSION}) + +set(fwupd-backend_SRCS + FwupdResource.cpp + FwupdBackend.cpp + FwupdTransaction.cpp + FwupdSourcesBackend.cpp +) + +add_library(fwupd-backend MODULE ${fwupd-backend_SRCS}) +target_link_libraries(fwupd-backend Qt5::Core Qt5::Widgets Qt5::Concurrent KF5::CoreAddons KF5::ConfigCore Discover::Common PkgConfig::Fwupd) + +install(TARGETS fwupd-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover) + diff --git a/libdiscover/backends/FwupdBackend/FwupdBackend.cpp b/libdiscover/backends/FwupdBackend/FwupdBackend.cpp new file mode 100644 index 0000000..93acee6 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdBackend.cpp @@ -0,0 +1,566 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FwupdBackend.h" +#include "FwupdResource.h" +#include "FwupdTransaction.h" +#include "FwupdSourcesBackend.h" +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +DISCOVER_BACKEND_PLUGIN(FwupdBackend) + +FwupdBackend::FwupdBackend(QObject* parent) + : AbstractResourcesBackend(parent) + , client(fwupd_client_new()) + , m_updater(new StandardBackendUpdater(this)) + , m_cancellable(g_cancellable_new()) +{ + connect(m_updater, &StandardBackendUpdater::updatesCountChanged, this, &FwupdBackend::updatesCountChanged); + + SourcesModel::global()->addSourcesBackend(new FwupdSourcesBackend(this)); + QTimer::singleShot(0, this, &FwupdBackend::checkForUpdates); +} + +QMap FwupdBackend::gchecksumToQChryptographicHash() +{ + static QMap map; + if (map.isEmpty()) { + map.insert(G_CHECKSUM_SHA1,QCryptographicHash::Sha1); + map.insert(G_CHECKSUM_SHA256,QCryptographicHash::Sha256); + map.insert(G_CHECKSUM_SHA512,QCryptographicHash::Sha512); + map.insert(G_CHECKSUM_MD5,QCryptographicHash::Md5); + } + return map; +} + +FwupdBackend::~FwupdBackend() +{ + g_cancellable_cancel(m_cancellable); + m_threadPool.waitForDone(200); + m_threadPool.clear(); + g_object_unref(m_cancellable); + + g_object_unref(client); +} + +void FwupdBackend::addResourceToList(FwupdResource* res) +{ + res->setParent(this); + auto &r = m_resources[res->packageName()]; + if (r) { + Q_EMIT resourceRemoved(r); + delete r; + } + r = res; + Q_ASSERT(m_resources.value(res->packageName()) == res); +} + +FwupdResource * FwupdBackend::createDevice(FwupdDevice *device) +{ + const QString name = QString::fromUtf8(fwupd_device_get_name(device)); + FwupdResource* res = new FwupdResource(name, this); + + const QString deviceID = QString::fromUtf8(fwupd_device_get_id(device)); + res->setId(QStringLiteral("org.fwupd.%1.device").arg(QString(deviceID).replace(QLatin1Char('/'),QLatin1Char('_')))); + res->setDeviceId(deviceID); + res->setDeviceDetails(device); + return res; +} + +FwupdResource * FwupdBackend::createRelease(FwupdDevice *device) +{ + FwupdResource* res = createDevice(device); + + FwupdRelease *release = fwupd_device_get_release_default(device); + res->setId(QString::fromUtf8(fwupd_release_get_appstream_id(release))); + res->setReleaseDetails(release); + + /* the same as we have already */ + if (qstrcmp(fwupd_device_get_version(device), fwupd_release_get_version(release)) == 0) + { + qWarning() << "Fwupd Error: same firmware version as installed"; + } + + return res; + +} + +void FwupdBackend::addUpdates() +{ + g_autoptr(GError) error = nullptr; + g_autoptr(GPtrArray) devices = fwupd_client_get_devices(client, nullptr, &error); + + if (!devices) + { + if (g_error_matches(error, FWUPD_ERROR, FWUPD_ERROR_NOTHING_TO_DO)) + qDebug() << "Fwupd Info: No Devices Found"; + else + handleError(error); + return; + } + + for(uint i = 0; i < devices->len; i++) + { + FwupdDevice *device = (FwupdDevice *)g_ptr_array_index(devices, i); + + if (!fwupd_device_has_flag(device, FWUPD_DEVICE_FLAG_SUPPORTED)) + continue; + + if (fwupd_device_has_flag(device, FWUPD_DEVICE_FLAG_LOCKED)) + continue; + + if (!fwupd_device_has_flag(device, FWUPD_DEVICE_FLAG_UPDATABLE)) + continue; + + g_autoptr(GError) error2 = nullptr; + g_autoptr(GPtrArray) rels = fwupd_client_get_upgrades(client, fwupd_device_get_id(device), nullptr, &error2); + if (rels) { + fwupd_device_add_release(device, (FwupdRelease *)g_ptr_array_index(rels, 0)); + auto res = createApp(device); + if (!res) + { + qWarning() << "Fwupd Error: Cannot Create App From Device" << fwupd_device_get_name(device); + } + else + { + QString longdescription; + for(uint j = 0; j < rels->len; j++) + { + FwupdRelease *release = (FwupdRelease *)g_ptr_array_index(rels, j); + if (!fwupd_release_get_description(release)) + continue; + longdescription += QStringLiteral("Version %1\n").arg(QString::fromUtf8(fwupd_release_get_version(release))); + longdescription += QString::fromUtf8(fwupd_release_get_description(release)) + QLatin1Char('\n'); + } + res->setDescription(longdescription); + addResourceToList(res); + } + } else { + if (!g_error_matches(error2, FWUPD_ERROR, FWUPD_ERROR_NOTHING_TO_DO)) + { + handleError(error2); + } + } + } +} + +QByteArray FwupdBackend::getChecksum(const QString &filename, QCryptographicHash::Algorithm hashAlgorithm) +{ + QFile f(filename); + if (!f.open(QFile::ReadOnly)) { + qWarning() << "could not open to check" << filename; + return {}; + } + + QCryptographicHash hash(hashAlgorithm); + if (!hash.addData(&f)) { + qWarning() << "could not read to check" << filename; + return {}; + } + + return hash.result().toHex(); +} + +FwupdResource* FwupdBackend::createApp(FwupdDevice *device) +{ + FwupdRelease *release = fwupd_device_get_release_default(device); + QScopedPointer app(createRelease(device)); + + if (!app->isLiveUpdatable()) { + qWarning() << "Fwupd Error: " << app->name() << "[" << app->id() << "]" << "cannot be updated "; + return nullptr; + } + + if (app->id().isNull()) { + qWarning() << "Fwupd Error: No id for firmware"; + return nullptr; + } + + if (app->availableVersion().isNull()) { + qWarning() << "Fwupd Error: No version! for " << app->id(); + return nullptr; + } + + GPtrArray *checksums = fwupd_release_get_checksums(release); + if (checksums->len == 0) { + qWarning() << "Fwupd Error: " << app->name() << "[" << app->id() << "] has no checksums, ignoring as unsafe"; + return nullptr; + } + + const QUrl update_uri(QString::fromUtf8(fwupd_release_get_uri(release))); + if (!update_uri.isValid()) { + qWarning() << "Fwupd Error: No Update URI available for" << app->name() << "[" << app->id() << "]"; + return nullptr; + } + + /* Checking for firmware in the cache? */ + const QString filename_cache = app->cacheFile(); + if (QFile::exists(filename_cache)) { + /* Currently LVFS supports SHA1 only*/ + const QByteArray checksum_tmp(fwupd_checksum_get_by_kind(checksums, G_CHECKSUM_SHA1)); + const QByteArray checksum = getChecksum(filename_cache, QCryptographicHash::Sha1); + if (checksum_tmp != checksum) { + QFile::remove(filename_cache); + } + } + + if (!app->needsReboot()) + app->setState(AbstractResource::Upgradeable); + return app.take(); +} + +bool FwupdBackend::downloadFile(const QUrl &uri, const QString &filename) +{ + Q_ASSERT(QThread::currentThread() != QCoreApplication::instance()->thread()); + + QScopedPointer manager(new QNetworkAccessManager); + QEventLoop loop; + QTimer getTimer; + connect(&getTimer, &QTimer::timeout, &loop, &QEventLoop::quit); + connect(manager.data(), &QNetworkAccessManager::finished, &loop, &QEventLoop::quit); + QScopedPointer reply(manager->get(QNetworkRequest(uri))); + getTimer.start(600000); // 60 Seconds TimeOout Period + loop.exec(); + if (!reply) + { + return false; + } else if (QNetworkReply::NoError != reply->error() ) { + qWarning() << "error fetching" << uri; + return false; + } else if (reply->error() == QNetworkReply::NoError) { + QFile file(filename); + if (file.open(QIODevice::WriteOnly)) { + file.write(reply->readAll()); + } else { + qWarning() << "Fwupd Error: Cannot Open File to write Data" << filename; + } + } + return true; +} + +void FwupdBackend::refreshRemote(FwupdBackend* backend, FwupdRemote* remote, quint64 cacheAge, GCancellable *cancellable) +{ + if (!fwupd_remote_get_filename_cache_sig(remote)) + { + qWarning() << "Fwupd Error: " << "Remote " << fwupd_remote_get_id(remote) << "has no cache signature!"; + return; + } + + /* check cache age */ + if (cacheAge > 0) + { + const quint64 age = fwupd_remote_get_age(remote); + if (age < cacheAge) + { +// qDebug() << "Fwupd Info:" << fwupd_remote_get_id(remote) << "is only" << age << "seconds old, so ignoring refresh! "; + return; + } + } + + const QString cacheId = QStringLiteral("fwupd/remotes.d/%1").arg(QString::fromUtf8(fwupd_remote_get_id(remote))); + const auto basenameSig = QString::fromUtf8(g_path_get_basename(fwupd_remote_get_filename_cache_sig(remote))); + const QString filenameSig = cacheFile(cacheId, basenameSig); + + if (filenameSig.isEmpty()) + return; + + /* download the signature first*/ + const QUrl urlSig(QString::fromUtf8(fwupd_remote_get_metadata_uri_sig(remote))); + const QString filenameSigTmp(filenameSig + QStringLiteral(".tmp")); + + if (!downloadFile(urlSig, filenameSigTmp)) { + qWarning() << "failed to download" << urlSig; + return; + } + Q_ASSERT(QFile::exists(filenameSigTmp)); + + const auto checksum = fwupd_remote_get_checksum(remote); + const QCryptographicHash::Algorithm hashAlgorithm = gchecksumToQChryptographicHash()[fwupd_checksum_guess_kind(checksum)]; + const QByteArray hash = getChecksum(filenameSigTmp, hashAlgorithm); + + const QByteArray oldHash = getChecksum(filenameSig, hashAlgorithm); + if (oldHash == hash) { + qDebug() << "remote hasn't changed:" << fwupd_remote_get_id(remote); + QFile::remove(filenameSigTmp); + return; + } + + QFile::remove(filenameSig); + + if (!QFile::rename(filenameSigTmp, filenameSig)) { + QFile::remove(filenameSigTmp); + qWarning() << "Fwupd Error: cannot save remote signature" << filenameSigTmp << "to" << filenameSig; + return; + } + QFile::remove(filenameSigTmp); + + const auto basename = QString::fromUtf8(g_path_get_basename(fwupd_remote_get_filename_cache(remote))); + const QString filename = cacheFile(cacheId, basename); + + if (filename.isEmpty()) + return; + + qDebug() << "Fwupd Info: saving new firmware metadata to:" << filename; + + const QUrl url(QString::fromUtf8(fwupd_remote_get_metadata_uri(remote))); + if (!downloadFile(url, filename)) + { + qWarning() << "Fwupd Error: cannot download file:" << filename; + return; + } + + g_autoptr(GError) error = nullptr; + if (!fwupd_client_update_metadata(backend->client, fwupd_remote_get_id(remote), filename.toUtf8().constData(), filenameSig.toUtf8().constData(), cancellable, &error)) + { + backend->handleError(error); + } +} + +void FwupdBackend::handleError(GError *perror) +{ + //TODO: localise the error message + if (!g_error_matches(perror, FWUPD_ERROR, FWUPD_ERROR_INVALID_FILE) && !g_error_matches(perror, FWUPD_ERROR, FWUPD_ERROR_NOTHING_TO_DO)) { + const QString msg = QString::fromUtf8(perror->message); + QTimer::singleShot(0, this, [this, msg](){ + Q_EMIT passiveMessage(msg); + }); + qWarning() << "Fwupd Error" << perror->code << perror->message; + } +// else +// qDebug() << "Fwupd skipped" << perror->code << perror->message; +} + +QString FwupdBackend::cacheFile(const QString &kind, const QString &basename) +{ + const QDir cacheDir(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)); + const QString cacheDirFile = cacheDir.filePath(kind); + + if (!QFileInfo::exists(cacheDirFile) && !cacheDir.mkpath(kind)) + { + qWarning() << "Fwupd Error: cannot make cache directory!"; + return {}; + } + + return cacheDir.filePath(kind + QLatin1Char('/') + basename); +} + +void FwupdBackend::checkForUpdates() +{ + if (m_fetching) + return; + + auto fw = new QFutureWatcher(this); + connect(fw, &QFutureWatcher::finished, this, [this, fw]() { + m_fetching = true; + emit fetchingChanged(); + + auto devices = fw->result(); + for(uint i = 0; devices && i < devices->len; i++) { + FwupdDevice *device = (FwupdDevice *) g_ptr_array_index(devices, i); + + if (!fwupd_device_has_flag (device, FWUPD_DEVICE_FLAG_SUPPORTED)) + continue; + + g_autoptr(GError) error = nullptr; + g_autoptr(GPtrArray) releases = fwupd_client_get_releases(client, fwupd_device_get_id(device), nullptr, &error); + + if (error) { + if (g_error_matches(error, FWUPD_ERROR, FWUPD_ERROR_INVALID_FILE)) { + continue; + } + + handleError(error); + } + + auto res = createDevice(device); + for (uint i=0; releases && ilen; ++i) { + FwupdRelease *release = (FwupdRelease *)g_ptr_array_index(releases, i); + if (res->installedVersion().toUtf8() == fwupd_release_get_version(release)) { + res->setReleaseDetails(release); + break; + } + } + addResourceToList(res); + } + g_ptr_array_unref(devices); + + addUpdates(); + + m_fetching = false; + emit fetchingChanged(); + emit initialized(); + fw->deleteLater(); + }); + fw->setFuture(QtConcurrent::run(&m_threadPool, [this] () -> GPtrArray* + { + const uint cacheAge = (24*60*60); // Check for updates every day + g_autoptr(GError) error = nullptr; + + /* get devices */ + GPtrArray* devices = fwupd_client_get_devices(client, m_cancellable, nullptr); + + + g_autoptr(GPtrArray) remotes = fwupd_client_get_remotes(client, m_cancellable, &error); + for(uint i = 0; remotes && i < remotes->len; i++) + { + FwupdRemote *remote = (FwupdRemote *)g_ptr_array_index(remotes, i); + if (!fwupd_remote_get_enabled(remote)) + continue; + + if (fwupd_remote_get_kind(remote) == FWUPD_REMOTE_KIND_LOCAL) + continue; + + refreshRemote(this, remote, cacheAge, m_cancellable); + } + return devices; + } + )); +} + +int FwupdBackend::updatesCount() const +{ + return m_updater->updatesCount(); +} + +ResultsStream* FwupdBackend::search(const AbstractResourcesBackend::Filters& filter) +{ + if (filter.resourceUrl.scheme() == QLatin1String("fwupd")) { + return findResourceByPackageName(filter.resourceUrl); + } else if (!filter.resourceUrl.isEmpty()) { + return new ResultsStream(QStringLiteral("FwupdStream-void"), {}); + } + + auto stream = new ResultsStream(QStringLiteral("FwupdStream")); + auto f = [this, stream, filter] () { + QVector ret; + foreach(AbstractResource* r, m_resources) { + if (r->state() < filter.state) + continue; + + if (filter.search.isEmpty() || r->name().contains(filter.search, Qt::CaseInsensitive) || r->comment().contains(filter.search, Qt::CaseInsensitive)) { + ret += r; + } + } + if (!ret.isEmpty()) + Q_EMIT stream->resourcesFound(ret); + stream->finish(); + }; + if (isFetching()) { + connect(this, &FwupdBackend::initialized, stream, f); + } else { + QTimer::singleShot(0, this, f); + } + return stream; +} + +ResultsStream * FwupdBackend::findResourceByPackageName(const QUrl& search) +{ + auto res = search.scheme() == QLatin1String("fwupd") ? m_resources.value(search.host().replace(QLatin1Char('.'), QLatin1Char(' '))) : nullptr; + if (!res) + { + return new ResultsStream(QStringLiteral("FwupdStream"), {}); + } + else + return new ResultsStream(QStringLiteral("FwupdStream"), { res }); +} + +AbstractBackendUpdater* FwupdBackend::backendUpdater() const +{ + return m_updater; +} + +AbstractReviewsBackend* FwupdBackend::reviewsBackend() const +{ + return nullptr; +} + +Transaction* FwupdBackend::installApplication(AbstractResource* app, const AddonList& addons) +{ + Q_ASSERT(addons.isEmpty()); + return installApplication(app); +} + +Transaction* FwupdBackend::installApplication(AbstractResource* app) +{ + return new FwupdTransaction(qobject_cast(app), this); +} + +Transaction* FwupdBackend::removeApplication(AbstractResource* /*app*/) +{ + qWarning() << "should not have reached here, it's not possible to uninstall a firmware"; + return nullptr; +} + +AbstractResource * FwupdBackend::resourceForFile(const QUrl& path) +{ + g_autoptr(GError) error = nullptr; + + QMimeDatabase db; + QMimeType type = db.mimeTypeForFile(path.fileName()); + FwupdResource* app = nullptr; + + if (type.isValid() && type.inherits(QStringLiteral("application/vnd.ms-cab-compressed"))) + { + g_autofree gchar *filename = path.fileName().toUtf8().data(); + g_autoptr(GPtrArray) devices = fwupd_client_get_details(client, filename, nullptr, &error); + + if (devices) + { + FwupdDevice *device = (FwupdDevice *)g_ptr_array_index(devices, 0); + app = createRelease(device); + app->setState(AbstractResource::None); + for(uint i = 1; i < devices->len; i++) + { + FwupdDevice *device = (FwupdDevice *)g_ptr_array_index(devices, i); + FwupdResource* app_ = createRelease(device); + app_->setState(AbstractResource::None); + } + addResourceToList(app); + connect(app, &FwupdResource::stateChanged, this, &FwupdBackend::updatesCountChanged); + } + else + { + handleError(error); + } + } + return app; +} + +QString FwupdBackend::displayName() const +{ + return QStringLiteral("Firmware Updates"); +} + +bool FwupdBackend::hasApplications() const +{ + return false; +} + +#include "FwupdBackend.moc" diff --git a/libdiscover/backends/FwupdBackend/FwupdBackend.h b/libdiscover/backends/FwupdBackend/FwupdBackend.h new file mode 100644 index 0000000..dec0314 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdBackend.h @@ -0,0 +1,110 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FWUPDBACKEND_H +#define FWUPDBACKEND_H + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +extern "C" { +#include +} +#include + +class QAction; +class StandardBackendUpdater; +class FwupdResource; +class FwupdBackend : public AbstractResourcesBackend +{ +Q_OBJECT +Q_PROPERTY(int startElements MEMBER m_startElements) +Q_ENUMS(Modes) +public: + explicit FwupdBackend(QObject* parent = nullptr); + ~FwupdBackend(); + + int updatesCount() const override; + AbstractBackendUpdater* backendUpdater() const override; + AbstractReviewsBackend* reviewsBackend() const override; + ResultsStream* search(const AbstractResourcesBackend::Filters & search) override; + ResultsStream * findResourceByPackageName(const QUrl& search) ; + QHash resources() const { return m_resources; } + bool isValid() const override { return true; } // No external file dependencies that could cause runtime errors + + Transaction* installApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app, const AddonList& addons) override; + Transaction* removeApplication(AbstractResource* app) override; + bool isFetching() const override { return m_fetching; } + AbstractResource * resourceForFile(const QUrl & ) override; + void checkForUpdates() override; + QString displayName() const override; + bool hasApplications() const override; + FwupdClient *client; + void handleError(GError *perror); + + static QString cacheFile(const QString &kind, const QString &baseName); + +Q_SIGNALS: + void initialized(); + +private: + void refreshRemotes(); + void addUpdates(); + void addResourceToList(FwupdResource *res); + QSet getAllUpdates(); + + static QMap gchecksumToQChryptographicHash(); + static void refreshRemote(FwupdBackend* backend, FwupdRemote *remote, quint64 cacheAge, GCancellable *cancellable); + static QByteArray getChecksum(const QString &filename, QCryptographicHash::Algorithm hashAlgorithm); + static bool downloadFile(const QUrl &uri, const QString &filename); + + FwupdResource * createDevice(FwupdDevice *device); + FwupdResource * createRelease(FwupdDevice *device); + FwupdResource * createApp(FwupdDevice *device); + + QHash m_resources; + StandardBackendUpdater* m_updater; + bool m_fetching = false; + int m_startElements; + QList m_toUpdate; + GCancellable *m_cancellable; + QThreadPool m_threadPool; +}; + +#endif // FWUPDBACKEND_H diff --git a/libdiscover/backends/FwupdBackend/FwupdResource.cpp b/libdiscover/backends/FwupdBackend/FwupdResource.cpp new file mode 100644 index 0000000..049e656 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdResource.cpp @@ -0,0 +1,208 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FwupdResource.h" + + +#include +#include +#include +#include + +FwupdResource::FwupdResource(QString name, AbstractResourcesBackend* parent) + : AbstractResource(parent) + , m_name(std::move(name)) +{ + Q_ASSERT(!m_name.isEmpty()); + setObjectName(m_name); +} + +QString FwupdResource::availableVersion() const +{ + return m_version; +} + +QStringList FwupdResource::categories() +{ + return m_categories; +} + +QString FwupdResource::comment() +{ + return m_summary; +} + +int FwupdResource::size() +{ + return m_size; +} + +QUrl FwupdResource::homepage() +{ + return m_homepage; +} + +QUrl FwupdResource::helpURL() +{ + return {}; +} + +QUrl FwupdResource::bugURL() +{ + return {}; +} + +QUrl FwupdResource::donationURL() +{ + return {}; +} + +QVariant FwupdResource::icon() const +{ + return m_iconName; +} + +QString FwupdResource::installedVersion() const +{ + return m_version; +} + +QString FwupdResource::license() +{ + return m_license; +} + +QString FwupdResource::longDescription() +{ + return m_description; +} + +QString FwupdResource::name() const +{ + return m_displayName.isEmpty() ? m_name : m_displayName; +} + +QString FwupdResource::vendor() const +{ + return m_vendor; +} + +QString FwupdResource::origin() const +{ + return m_origin; +} + +QString FwupdResource::packageName() const +{ + return m_name; +} + +QString FwupdResource::section() +{ + return QStringLiteral("Firmware Updates"); +} + +AbstractResource::State FwupdResource::state() +{ + return m_state; +} + +void FwupdResource::fetchChangelog() +{ + QString log = longDescription(); + log.replace(QLatin1Char('\n'), QLatin1String("
")); + + emit changelogFetched(log); +} + +void FwupdResource::setState(AbstractResource::State state) +{ + if(m_state != state) + { + m_state = state; + emit stateChanged(); + } + +} + +void FwupdResource::invokeApplication() const +{ + qWarning() << "Not Launchable"; +} + +QUrl FwupdResource::url() const +{ + return m_homepage; +} + +QString FwupdResource::executeLabel() const +{ + return QStringLiteral("Not Invokable"); +} + +void FwupdResource::setReleaseDetails(FwupdRelease* release) +{ + m_origin = QString::fromUtf8(fwupd_release_get_remote_id(release)); + m_summary = QString::fromUtf8(fwupd_release_get_summary(release)); + m_vendor = QString::fromUtf8(fwupd_release_get_vendor(release)); + m_size = fwupd_release_get_size(release); + m_version = QString::fromUtf8(fwupd_release_get_version(release)); + m_description = QString::fromUtf8((fwupd_release_get_description(release))); + m_homepage = QUrl(QString::fromUtf8(fwupd_release_get_homepage(release))); + m_license = QString::fromUtf8(fwupd_release_get_license(release)); + m_updateURI = QString::fromUtf8(fwupd_release_get_uri(release)); +} + +void FwupdResource::setDeviceDetails(FwupdDevice* dev) +{ + m_isLiveUpdatable = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_UPDATABLE); + m_isOnlyOffline = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_ONLY_OFFLINE); + m_needsReboot = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_NEEDS_REBOOT); + m_isDeviceRemoval = !fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_INTERNAL); + m_needsBootLoader = fwupd_device_has_flag(dev, FWUPD_DEVICE_FLAG_NEEDS_BOOTLOADER); + + if (fwupd_device_get_name(dev)) + { + QString vendorDesc = QString::fromUtf8(fwupd_device_get_name(dev)); + const QString vendorName = QString::fromUtf8(fwupd_device_get_vendor(dev)); + + if (!vendorDesc.startsWith(vendorName)) + vendorDesc = vendorName + QLatin1Char(' ') + vendorDesc; + m_displayName = vendorDesc; + } + m_summary = QString::fromUtf8(fwupd_device_get_summary(dev)); + m_vendor = QString::fromUtf8(fwupd_device_get_vendor(dev)); + m_releaseDate = QDateTime::fromSecsSinceEpoch(fwupd_device_get_created(dev)).date(); + m_version = QString::fromUtf8(fwupd_device_get_version(dev)); + m_description = QString::fromUtf8((fwupd_device_get_description(dev))); + + if (fwupd_device_get_icons(dev)->len >= 1) + m_iconName = QString::fromUtf8((const gchar *)g_ptr_array_index(fwupd_device_get_icons(dev), 0));// Check wether given icon exists or not! + else + m_iconName = QString::fromUtf8("device-notifier"); +} + +QString FwupdResource::cacheFile() const +{ + const auto filename_cache = FwupdBackend::cacheFile(QStringLiteral("fwupd"), QFileInfo(QUrl(m_updateURI).path()).fileName()); + Q_ASSERT(!filename_cache.isEmpty()); + return filename_cache; +} diff --git a/libdiscover/backends/FwupdBackend/FwupdResource.h b/libdiscover/backends/FwupdBackend/FwupdResource.h new file mode 100644 index 0000000..f418122 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdResource.h @@ -0,0 +1,112 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FWUPDRESOURCE_H +#define FWUPDRESOURCE_H + +#include "FwupdBackend.h" + +#include +#include + +class AddonList; +class FwupdResource : public AbstractResource +{ +Q_OBJECT +public: + explicit FwupdResource(QString name, AbstractResourcesBackend* parent); + + QList addonsInformation() override { return {}; } + QString section() override; + QString origin() const override; + QString longDescription() override; + QString availableVersion() const override; + QString installedVersion() const override; + QString license() override; + int size() override; + QUrl homepage() override; + QUrl helpURL() override; + QUrl bugURL() override; + QUrl donationURL() override; + QStringList categories() override; + AbstractResource::State state() override; + QVariant icon() const override; + QString comment() override; + QString name() const override; + QString packageName() const override; + QString vendor() const; + bool isTechnical() const override { return true; } + bool canExecute() const override { return false; } + void invokeApplication() const override; + void fetchChangelog() override; + QUrl url() const override; + QString executeLabel() const override; + QDate releaseDate() const override { return m_releaseDate; } + QString sourceIcon() const override { return {}; } + + void setDeviceId(const QString &deviceId) { m_deviceID = deviceId; } + void setIsDeviceLocked(bool locked) { m_isDeviceLocked = locked; } + void setDescription(const QString &description) { m_description = description; } + void setId(const QString &id) { m_id = id; } + + void setState(AbstractResource::State state); + void setReleaseDetails(FwupdRelease *release); + void setDeviceDetails(FwupdDevice* device); + + QString id() const { return m_id; } + QString deviceId() const { return m_deviceID; } + QUrl updateURI() const { return QUrl(m_updateURI); } + bool isDeviceLocked() const { return m_isDeviceLocked; } + bool isOnlyOffline() const { return m_isOnlyOffline; } + bool isLiveUpdatable() const { return m_isLiveUpdatable; } + bool needsReboot() const { return m_needsReboot; } + + QString cacheFile() const; + +private: + QString m_id; + const QString m_name; + QString m_summary; + QString m_description; + QString m_version; + QString m_vendor; + QStringList m_categories; + QString m_license; + QString m_displayName; + QDate m_releaseDate; + + AbstractResource::State m_state = None; + QUrl m_homepage; + QString m_iconName; + int m_size = 0; + + QString m_deviceID; + QString m_updateURI; + bool m_isDeviceLocked = false; // True if device is locked! + bool m_isOnlyOffline = false; // True if only offline updates + bool m_isLiveUpdatable = false; // True if device is live updatable + bool m_needsReboot = false; // True if device needs Reboot + bool m_isDeviceRemoval = false; //True if device is Removal + bool m_needsBootLoader = false; //True if BootLoader Required + QString m_origin; +}; + +#endif // FWUPDRESOURCE_H diff --git a/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp new file mode 100644 index 0000000..82ee247 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp @@ -0,0 +1,146 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FwupdSourcesBackend.h" + +#include +#include +#include + + +class FwupdSourcesModel : public QStandardItemModel +{ +Q_OBJECT +public: + FwupdSourcesModel(FwupdSourcesBackend* backend) + : QStandardItemModel(backend) + , m_backend(backend) {} + + bool setData(const QModelIndex & index, const QVariant & value, int role) override { + auto item = itemFromIndex(index); + if(!item) + return false; + remote = fwupd_client_get_remote_by_id(m_backend->backend->client, item->data(AbstractSourcesBackend::IdRole).toString().toUtf8().constData(),nullptr,nullptr); + status = fwupd_remote_get_enabled(remote); + switch(role) + { + case Qt::CheckStateRole: + { + if((value.toInt() == Qt::Checked) ) + { + auto proceedFunction = [this, item, value, role]() { + if(fwupd_client_modify_remote(m_backend->backend->client, fwupd_remote_get_id(remote), "Enabled", "true", nullptr, nullptr)) + item->setData(value, role); + }; +#if FWUPD_CHECK_VERSION(1,0,7) + m_backend->eulaRequired(QString::fromUtf8(fwupd_remote_get_title(remote)),QString::fromUtf8(fwupd_remote_get_agreement(remote))); +#else + proceedFunction(); +#endif + connect(m_backend,&FwupdSourcesBackend::proceed,this, proceedFunction); + connect(m_backend,&FwupdSourcesBackend::cancel,this, [this, item, index]() { + item->setCheckState(Qt::Unchecked); + Q_EMIT dataChanged(index,index,{}); + return false; + }); + } + else if(value.toInt() == Qt::Unchecked) + { + if(fwupd_client_modify_remote(m_backend->backend->client,fwupd_remote_get_id(remote),QString(QLatin1String("Enabled")).toUtf8().constData(),(QString(QLatin1String("false")).toUtf8().constData()),nullptr,nullptr)) + item->setData(value, role); + } + + } + } + Q_EMIT dataChanged(index, index, {Qt::CheckStateRole}); + return true; + } + +private: + FwupdSourcesBackend* m_backend; + FwupdRemote* remote; + bool status; +}; + +FwupdSourcesBackend::FwupdSourcesBackend(AbstractResourcesBackend * parent) + : AbstractSourcesBackend(parent) + , backend(qobject_cast(parent)) + , m_sources(new FwupdSourcesModel(this)) +{ + populateSources(); +} + +void FwupdSourcesBackend::populateSources() +{ + /* find all remotes */ + g_autoptr(GPtrArray) remotes = fwupd_client_get_remotes(backend->client,nullptr,nullptr); + if(remotes != nullptr) + { + for(uint i = 0; i < remotes->len; i++) + { + FwupdRemote *remote = (FwupdRemote *)g_ptr_array_index(remotes, i); + if(fwupd_remote_get_kind(remote) == FWUPD_REMOTE_KIND_LOCAL) + continue; + const QString id = QString::fromUtf8(fwupd_remote_get_id(remote)); + if(id.isEmpty()) + continue; + bool status = !fwupd_remote_get_enabled(remote); + QStandardItem* it = new QStandardItem(id); + it->setData(id, AbstractSourcesBackend::IdRole); + it->setData(QVariant(QString::fromUtf8(fwupd_remote_get_title(remote))), Qt::ToolTipRole); + it->setCheckable(true); + it->setCheckState(status ? Qt::Unchecked : Qt::Checked); + m_sources->appendRow(it); + } + } +} + +QAbstractItemModel* FwupdSourcesBackend::sources() +{ + return m_sources; +} + +void FwupdSourcesBackend::eulaRequired( const QString& remoteName, const QString& licenseAgreement) +{ + Q_EMIT proceedRequest(i18n("Accept EULA"), i18n("The remote %1 require that you accept their license:\n %2", + remoteName, licenseAgreement)); +} + +bool FwupdSourcesBackend::addSource(const QString& id) +{ + qWarning() << "Fwupd Error: Custom Addition of Sources Not Allowed" << "Remote-ID" << id; + return false; +} + +bool FwupdSourcesBackend::removeSource(const QString& id) +{ + qWarning() << "Fwupd Error: Removal of Sources Not Allowed" << "Remote-ID" << id; + return false; +} + +QList FwupdSourcesBackend::actions() const +{ + return {} ; +} + +#include "FwupdSourcesBackend.moc" + + diff --git a/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.h b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.h new file mode 100644 index 0000000..e3b0198 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FWUPDSOURCESBACKEND_H +#define FWUPDSOURCESBACKEND_H + +#include +#include "FwupdBackend.h" +#include + +#include "FwupdBackend.h" + +class FwupdSourcesModel; + +class FwupdSourcesBackend : public AbstractSourcesBackend +{ + Q_OBJECT +public: + explicit FwupdSourcesBackend(AbstractResourcesBackend * parent); + + FwupdBackend* backend ; + QAbstractItemModel* sources() override; + bool addSource(const QString& id) override; + bool removeSource(const QString& id) override; + QString idDescription() override { return QString(); } + QList actions() const override; + bool supportsAdding() const override { return false; } + void eulaRequired(const QString& remoteName, const QString& licenseAgreement); + void populateSources(); +Q_SIGNALS: + void proceed() override; + void cancel() override; + +private: + FwupdSourcesModel* m_sources; +}; + +#endif // FWUPDSOURCESBACKEND_H diff --git a/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp b/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp new file mode 100644 index 0000000..533ee14 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp @@ -0,0 +1,133 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "FwupdTransaction.h" + +#include + +FwupdTransaction::FwupdTransaction(FwupdResource* app, FwupdBackend* backend) + : Transaction(backend, app, Transaction::InstallRole, {}) + , m_app(app) + , m_backend(backend) +{ + setCancellable(true); + setStatus(QueuedStatus); + + Q_ASSERT(!m_app->deviceId().isEmpty()); + QTimer::singleShot(0, this, &FwupdTransaction::install); +} + +FwupdTransaction::~FwupdTransaction() = default; + +void FwupdTransaction::install() +{ + g_autoptr(GError) error = nullptr; + + if(m_app->isDeviceLocked()) + { + QString device_id = m_app->deviceId(); + if(device_id.isNull()) { + qWarning() << "Fwupd Error: No Device ID set, cannot unlock device " << this << m_app->name(); + } else if(!fwupd_client_unlock(m_backend->client, device_id.toUtf8().constData(),nullptr, &error)) { + m_backend->handleError(error); + } + setStatus(DoneWithErrorStatus); + return; + } + + const QString fileName = m_app->cacheFile(); + if(!QFileInfo::exists(fileName)) { + const QUrl uri(m_app->updateURI()); + setStatus(DownloadingStatus); + QNetworkAccessManager *manager = new QNetworkAccessManager(this); + auto reply = manager->get(QNetworkRequest(uri)); + QFile* file = new QFile(fileName); + + connect(reply, &QNetworkReply::finished, this, [this, file, reply](){ + file->close(); + file->deleteLater(); + + if(reply->error() != QNetworkReply::NoError) { + qWarning() << "Fwupd Error: Could not download" << reply->url() << reply->errorString(); + file->remove(); + setStatus(DoneWithErrorStatus); + } else { + fwupdInstall(file->fileName()); + } + }); + connect(reply, &QNetworkReply::readyRead, this, [file, reply](){ + file->write(reply->readAll()); + }); + } + else + { + fwupdInstall(fileName); + } +} + +void FwupdTransaction::fwupdInstall(const QString &file) +{ + FwupdInstallFlags install_flags = FWUPD_INSTALL_FLAG_NONE; + g_autoptr(GError) error = nullptr; + + /* only offline supported */ + if(m_app->isOnlyOffline()) + install_flags = static_cast(install_flags | FWUPD_INSTALL_FLAG_OFFLINE); + + if(!fwupd_client_install(m_backend->client, m_app->deviceId().toUtf8().constData(), file.toUtf8().constData(), install_flags, nullptr, &error)) + { + m_backend->handleError(error); + setStatus(DoneWithErrorStatus); + } else + finishTransaction(); +} + +void FwupdTransaction::updateProgress() +{ + setProgress(fwupd_client_get_percentage(m_backend->client)); +} + +void FwupdTransaction::proceed() +{ + finishTransaction(); +} + +void FwupdTransaction::cancel() +{ + setStatus(CancelledStatus); +} + +void FwupdTransaction::finishTransaction() +{ + AbstractResource::State newState; + switch(role()) { + case InstallRole: + case ChangeAddonsRole: + newState = AbstractResource::Installed; + break; + case RemoveRole: + newState = AbstractResource::None; + break; + } + m_app->setState(newState); + setStatus(DoneStatus); + deleteLater(); +} diff --git a/libdiscover/backends/FwupdBackend/FwupdTransaction.h b/libdiscover/backends/FwupdBackend/FwupdTransaction.h new file mode 100644 index 0000000..4b67a31 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdTransaction.h @@ -0,0 +1,52 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * Copyright © 2018 Abhijeet Sharma * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef FWUPDTRANSACTION_H +#define FWUPDTRANSACTION_H + +#include +#include "FwupdBackend.h" +#include "FwupdResource.h" + + +class FwupdResource; +class FwupdTransaction : public Transaction +{ + Q_OBJECT + public: + FwupdTransaction(FwupdResource* app, FwupdBackend* backend); + ~FwupdTransaction(); + void cancel() override; + void proceed() override; + + private Q_SLOTS: + void updateProgress(); + void finishTransaction(); + void fwupdInstall(const QString &file); + + private: + void install(); + + FwupdResource* const m_app; + FwupdBackend* const m_backend; +}; + +#endif // FWUPDTRANSACTION_H diff --git a/libdiscover/backends/KNSBackend/CMakeLists.txt b/libdiscover/backends/KNSBackend/CMakeLists.txt new file mode 100644 index 0000000..43af528 --- /dev/null +++ b/libdiscover/backends/KNSBackend/CMakeLists.txt @@ -0,0 +1,11 @@ +add_subdirectory(tests) + +add_library(kns-backend MODULE + KNSBackend.cpp + KNSResource.cpp + KNSReviews.cpp) + +target_link_libraries(kns-backend Discover::Common KF5::ConfigCore KF5::Attica KF5::NewStuffCore KF5::WidgetsAddons Qt5::Xml) + +install(TARGETS kns-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover) +install(FILES custom/discover_ktexteditor_codesnippets_core.knsrc DESTINATION ${KDE_INSTALL_CONFDIR}) diff --git a/libdiscover/backends/KNSBackend/KNSBackend.cpp b/libdiscover/backends/KNSBackend/KNSBackend.cpp new file mode 100644 index 0000000..2b01e5a --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSBackend.cpp @@ -0,0 +1,475 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +// Qt includes +#include +#include +#include +#include +#include +#include + +// Attica includes +#include +#include + +// KDE includes +#include +#include +#include +#include +#include +#include + +// DiscoverCommon includes +#include "Transaction/Transaction.h" +#include "Transaction/TransactionModel.h" +#include "Category/Category.h" + +// Own includes +#include "KNSBackend.h" +#include "KNSResource.h" +#include "KNSReviews.h" +#include +#include "utils.h" + +class KNSBackendFactory : public AbstractResourcesBackendFactory { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.kde.muon.AbstractResourcesBackendFactory") + Q_INTERFACES(AbstractResourcesBackendFactory) + public: + KNSBackendFactory() { + connect(KNSCore::QuestionManager::instance(), &KNSCore::QuestionManager::askQuestion, this, [](KNSCore::Question* q) { + qWarning() << q->question() << q->questionType(); + q->setResponse(KNSCore::Question::InvalidResponse); + }); + } + + QVector newInstance(QObject* parent, const QString &/*name*/) const override + { + QVector ret; + for (const QString &path: QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation)) { + QDirIterator dirIt(path, {QStringLiteral("*.knsrc")}, QDir::Files); + for(; dirIt.hasNext(); ) { + dirIt.next(); + + auto bk = new KNSBackend(parent, QStringLiteral("plasma"), dirIt.filePath()); + if (bk->isValid()) + ret += bk; + else + delete bk; + } + } + return ret; + } +}; + +Q_DECLARE_METATYPE(KNSCore::EntryInternal) + +KNSBackend::KNSBackend(QObject* parent, const QString& iconName, const QString &knsrc) + : AbstractResourcesBackend(parent) + , m_fetching(false) + , m_isValid(true) + , m_reviews(new KNSReviews(this)) + , m_name(knsrc) + , m_iconName(iconName) + , m_updater(new StandardBackendUpdater(this)) +{ + const QString fileName = QFileInfo(m_name).fileName(); + setName(fileName); + setObjectName(knsrc); + + const KConfig conf(m_name); + if (!conf.hasGroup("KNewStuff3")) { + markInvalid(QStringLiteral("Config group not found! Check your KNS3 installation.")); + return; + } + + m_categories = QStringList{ fileName }; + + const KConfigGroup group = conf.group("KNewStuff3"); + m_extends = group.readEntry("Extends", QStringList()); + m_reviews->setProviderUrl(QUrl(group.readEntry("ProvidersUrl", QString()))); + + setFetching(true); + + m_engine = new KNSCore::Engine(this); + m_engine->init(m_name); + m_engine->setPageSize(100); + // Setting setFetching to false when we get an error ensures we don't end up in an eternally-fetching state + connect(m_engine, &KNSCore::Engine::signalError, this, [this](const QString &_error) { + QString error = _error; + bool invalidFile = false; + if(error == QLatin1Literal("All categories are missing")) { + markInvalid(error); + error = i18n("Invalid %1 backend, contact your distributor.", m_displayName); + invalidFile = true; + } + m_responsePending = false; + Q_EMIT searchFinished(); + Q_EMIT availableForQueries(); + this->setFetching(false); + qWarning() << "kns error" << objectName() << error; + if (!invalidFile) + Q_EMIT passiveMessage(i18n("%1: %2", name(), error)); + }); + connect(m_engine, &KNSCore::Engine::signalEntriesLoaded, this, &KNSBackend::receivedEntries, Qt::QueuedConnection); + connect(m_engine, &KNSCore::Engine::signalEntryChanged, this, &KNSBackend::statusChanged, Qt::QueuedConnection); + connect(m_engine, &KNSCore::Engine::signalEntryDetailsLoaded, this, &KNSBackend::statusChanged); + connect(m_engine, &KNSCore::Engine::signalProvidersLoaded, this, &KNSBackend::fetchInstalled); + + // This ensures we have something to track when checking after the initialization timeout + connect(this, &KNSBackend::initialized, this, [this](){ m_initialized = true; }); + // If we have not initialized in 60 seconds, consider this KNS backend invalid + QTimer::singleShot(60000, this, [this](){ + if(!m_initialized) { + markInvalid(i18n("Backend %1 took too long to initialize", m_displayName)); + m_responsePending = false; + Q_EMIT searchFinished(); + Q_EMIT availableForQueries(); + } + }); + + const QVector> filters = { {CategoryFilter, fileName } }; + const QSet backendName = { name() }; + m_displayName = group.readEntry("Name", QString()); + if (m_displayName.isEmpty()) { + m_displayName = fileName.mid(0, fileName.indexOf(QLatin1Char('.'))); + m_displayName[0] = m_displayName[0].toUpper(); + } + + static const QSet knsrcPlasma = { + QStringLiteral("aurorae.knsrc"), QStringLiteral("icons.knsrc"), QStringLiteral("kfontinst.knsrc"), QStringLiteral("lookandfeel.knsrc"), QStringLiteral("plasma-themes.knsrc"), QStringLiteral("plasmoids.knsrc"), + QStringLiteral("wallpaper.knsrc"), QStringLiteral("xcursor.knsrc"), + + QStringLiteral("cgcgtk3.knsrc"), QStringLiteral("cgcicon.knsrc"), QStringLiteral("cgctheme.knsrc"), //GTK integration + QStringLiteral("kwinswitcher.knsrc"), QStringLiteral("kwineffect.knsrc"), QStringLiteral("kwinscripts.knsrc"), //KWin + QStringLiteral("comic.knsrc"), QStringLiteral("colorschemes.knsrc"), + QStringLiteral("emoticons.knsrc"), QStringLiteral("plymouth.knsrc"), + QStringLiteral("sddmtheme.knsrc") + }; + auto actualCategory = new Category(m_displayName, QStringLiteral("plasma"), filters, backendName, {}, QUrl(), true); + + const auto topLevelName = knsrcPlasma.contains(fileName)? i18n("Plasma Addons") : i18n("Application Addons"); + const QUrl decoration(knsrcPlasma.contains(fileName)? QStringLiteral("https://c2.staticflickr.com/4/3148/3042248532_20bd2e38f4_b.jpg") : QStringLiteral("https://c2.staticflickr.com/8/7067/6847903539_d9324dcd19_o.jpg")); + auto addonsCategory = new Category(topLevelName, QStringLiteral("plasma"), filters, backendName, {actualCategory}, decoration, true); + m_rootCategories = { addonsCategory }; +} + +KNSBackend::~KNSBackend() +{ + qDeleteAll(m_rootCategories); +} + +void KNSBackend::markInvalid(const QString &message) +{ + qWarning() << "invalid kns backend!" << m_name << "because:" << message; + m_isValid = false; + setFetching(false); + Q_EMIT initialized(); +} + +void KNSBackend::fetchInstalled() +{ + auto search = new OneTimeAction([this]() { + Q_EMIT startingSearch(); + m_onePage = true; + m_responsePending = true; + m_engine->checkForInstalled(); + }, this); + + if (m_responsePending) { + connect(this, &KNSBackend::availableForQueries, search, &OneTimeAction::trigger, Qt::QueuedConnection); + } else { + search->trigger(); + } +} + +void KNSBackend::setFetching(bool f) +{ + if(m_fetching!=f) { + m_fetching = f; + emit fetchingChanged(); + + if (!m_fetching) { + Q_EMIT initialized(); + } + } + +} + +bool KNSBackend::isValid() const +{ + return m_isValid; +} + +KNSResource* KNSBackend::resourceForEntry(const KNSCore::EntryInternal& entry) +{ + KNSResource* r = static_cast(m_resourcesByName.value(entry.uniqueId())); + if (!r) { + r = new KNSResource(entry, m_categories, this); + m_resourcesByName.insert(entry.uniqueId(), r); + } else { + r->setEntry(entry); + } + return r; +} + +void KNSBackend::receivedEntries(const KNSCore::EntryInternal::List& entries) +{ + m_responsePending = false; + + const auto resources = kTransform>(entries, [this](const KNSCore::EntryInternal& entry){ return resourceForEntry(entry); }); + if (!resources.isEmpty()) { + Q_EMIT receivedResources(resources); + } + + if(resources.isEmpty()) { + Q_EMIT searchFinished(); + Q_EMIT availableForQueries(); + setFetching(false); + return; + } +// qDebug() << "received" << objectName() << this << m_resourcesByName.count(); + if (!m_responsePending && !m_onePage) { + // We _have_ to set this first. If we do not, we may run into a situation where the + // data request will conclude immediately, causing m_responsePending to remain true + // for perpetuity as the slots will be called before the function returns. + m_responsePending = true; + m_engine->requestMoreData(); + } else { + Q_EMIT availableForQueries(); + setFetching(false); + } +} + +void KNSBackend::statusChanged(const KNSCore::EntryInternal& entry) +{ + resourceForEntry(entry); +} + +class KNSTransaction : public Transaction +{ +public: + KNSTransaction(QObject* parent, KNSResource* res, Transaction::Role role) + : Transaction(parent, res, role) + , m_id(res->entry().uniqueId()) + { + setCancellable(false); + + auto manager = res->knsBackend()->engine(); + connect(manager, &KNSCore::Engine::signalEntryChanged, this, &KNSTransaction::anEntryChanged); + TransactionModel::global()->addTransaction(this); + + std::function actionFunction; + auto engine = res->knsBackend()->engine(); + if(role == RemoveRole) + actionFunction = [res, engine]() { + engine->uninstall(res->entry()); + }; + else if (res->linkIds().isEmpty()) + actionFunction = [res, engine]() { + engine->install(res->entry()); + }; + else + actionFunction = [res, engine]() { + for(auto i : res->linkIds()) + engine->install(res->entry(), i); + }; + QTimer::singleShot(0, res, actionFunction); + } + + void anEntryChanged(const KNSCore::EntryInternal& entry) { + if (entry.uniqueId() == m_id) { + switch (entry.status()) { + case KNS3::Entry::Invalid: + qWarning() << "invalid status for" << entry.uniqueId() << entry.status(); + break; + case KNS3::Entry::Installing: + case KNS3::Entry::Updating: + setStatus(CommittingStatus); + break; + case KNS3::Entry::Downloadable: + case KNS3::Entry::Installed: + case KNS3::Entry::Deleted: + case KNS3::Entry::Updateable: + if (status() != DoneStatus) { + setStatus(DoneStatus); + } + break; + } + } + } + + void cancel() override {} + +private: + const QString m_id; +}; + +Transaction* KNSBackend::removeApplication(AbstractResource* app) +{ + auto res = qobject_cast(app); + return new KNSTransaction(this, res, Transaction::RemoveRole); +} + +Transaction* KNSBackend::installApplication(AbstractResource* app) +{ + auto res = qobject_cast(app); + return new KNSTransaction(this, res, Transaction::InstallRole); +} + +Transaction* KNSBackend::installApplication(AbstractResource* app, const AddonList& /*addons*/) +{ + return installApplication(app); +} + +int KNSBackend::updatesCount() const +{ + return m_updater->updatesCount(); +} + +AbstractReviewsBackend* KNSBackend::reviewsBackend() const +{ + return m_reviews; +} + +static ResultsStream* voidStream() +{ + return new ResultsStream(QStringLiteral("KNS-void"), {}); +} + +ResultsStream* KNSBackend::search(const AbstractResourcesBackend::Filters& filter) +{ + if (!m_isValid || (!filter.resourceUrl.isEmpty() && filter.resourceUrl.scheme() != QLatin1String("kns")) || !filter.mimetype.isEmpty()) + return voidStream(); + + if (filter.resourceUrl.scheme() == QLatin1String("kns")) { + return findResourceByPackageName(filter.resourceUrl); + } else if (filter.state >= AbstractResource::Installed) { + auto stream = new ResultsStream(QStringLiteral("KNS-installed")); + + const auto start = [this, stream, filter]() { + if (m_isValid) { + auto filterFunction = [&filter](AbstractResource* r) { return r->state()>=filter.state && (r->name().contains(filter.search, Qt::CaseInsensitive) || r->comment().contains(filter.search, Qt::CaseInsensitive)); }; + const auto ret = kFilter>(m_resourcesByName, filterFunction); + + if (!ret.isEmpty()) + Q_EMIT stream->resourcesFound(ret); + } + stream->finish(); + }; + if (isFetching()) { + connect(this, &KNSBackend::initialized, stream, start); + } else { + QTimer::singleShot(0, stream, start); + } + + return stream; + } else if ((!filter.category && !filter.search.isEmpty()) || (filter.category && filter.category->matchesCategoryName(m_categories.constFirst()))) { + auto r = new ResultsStream(QStringLiteral("KNS-search-")+name()); + searchStream(r, filter.search); + return r; + } + return voidStream(); +} + +void KNSBackend::searchStream(ResultsStream* stream, const QString &searchText) +{ + Q_EMIT startingSearch(); + + auto start = [this, stream, searchText]() { + Q_ASSERT(!isFetching()); + if (!m_isValid) { + stream->finish(); + return; + } + // No need to explicitly launch a search, setting the search term already does that for us + m_engine->setSearchTerm(searchText); + m_onePage = false; + m_responsePending = true; + + connect(this, &KNSBackend::receivedResources, stream, &ResultsStream::resourcesFound); + connect(this, &KNSBackend::searchFinished, stream, &ResultsStream::finish); + connect(this, &KNSBackend::startingSearch, stream, &ResultsStream::finish); + }; + + if (m_responsePending) { + connect(this, &KNSBackend::availableForQueries, stream, start, Qt::QueuedConnection); + } else if (isFetching()) { + connect(this, &KNSBackend::initialized, stream, start); + } else { + QTimer::singleShot(0, stream, start); + } +} + +ResultsStream * KNSBackend::findResourceByPackageName(const QUrl& search) +{ + if (search.scheme() != QLatin1String("kns") || search.host() != name()) + return voidStream(); + + const auto pathParts = search.path().split(QLatin1Char('/'), QString::SkipEmptyParts); + if (pathParts.size() != 2) { + Q_EMIT passiveMessage(i18n("Wrong KNewStuff URI: %1", search.toString())); + return voidStream(); + } + const auto providerid = pathParts.at(0); + const auto entryid = pathParts.at(1); + + auto stream = new ResultsStream(QStringLiteral("KNS-byname-")+entryid); + auto start = [this, entryid, stream, providerid]() { + m_responsePending = true; + m_engine->fetchEntryById(entryid); + m_onePage = false; + connect(m_engine, &KNSCore::Engine::signalError, stream, &ResultsStream::finish); + connect(m_engine, &KNSCore::Engine::signalEntryDetailsLoaded, stream, [this, stream, entryid, providerid](const KNSCore::EntryInternal &entry) { + if (entry.uniqueId() == entryid && providerid == QUrl(entry.providerId()).host()) { + Q_EMIT stream->resourcesFound({resourceForEntry(entry)}); + } else + qWarning() << "found invalid" << entryid << entry.uniqueId() << providerid << QUrl(entry.providerId()).host(); + m_responsePending = false; + QTimer::singleShot(0, this, &KNSBackend::availableForQueries); + stream->finish(); + }); + }; + if (m_responsePending) { + connect(this, &KNSBackend::availableForQueries, stream, start); + } else { + start(); + } + return stream; +} + +bool KNSBackend::isFetching() const +{ + return m_fetching; +} + +AbstractBackendUpdater* KNSBackend::backendUpdater() const +{ + return m_updater; +} + +QString KNSBackend::displayName() const +{ + return QStringLiteral("KNewStuff"); +} + +#include "KNSBackend.moc" diff --git a/libdiscover/backends/KNSBackend/KNSBackend.h b/libdiscover/backends/KNSBackend/KNSBackend.h new file mode 100644 index 0000000..7adb9f3 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSBackend.h @@ -0,0 +1,103 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef KNSBACKEND_H +#define KNSBACKEND_H + +#include + +#include +#include "Transaction/AddonList.h" +#include "discovercommon_export.h" + +class KConfigGroup; +class KNSReviews; +class KNSResource; +class StandardBackendUpdater; + +namespace KNSCore { class Engine; } + +class DISCOVERCOMMON_EXPORT KNSBackend : public AbstractResourcesBackend +{ +Q_OBJECT +public: + explicit KNSBackend(QObject* parent, const QString& iconName, const QString &knsrc); + ~KNSBackend() override; + + Transaction* removeApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app, const AddonList& addons) override; + int updatesCount() const override; + AbstractReviewsBackend* reviewsBackend() const override; + AbstractBackendUpdater* backendUpdater() const override; + bool isFetching() const override; + ResultsStream* search(const AbstractResourcesBackend::Filters & filter) override; + ResultsStream* findResourceByPackageName(const QUrl & search); + + QVector category() const override { return m_rootCategories; } + + bool isValid() const override; + + QStringList extends() const override { return m_extends; } + + QString iconName() const { return m_iconName; } + + KNSCore::Engine* engine() const { return m_engine; } + + void checkForUpdates() override {} + + QString displayName() const override; + +Q_SIGNALS: + void receivedResources(const QVector &resources); + void searchFinished(); + void startingSearch(); + void availableForQueries(); + void initialized(); + +public Q_SLOTS: + void receivedEntries(const KNSCore::EntryInternal::List& entries); + void statusChanged(const KNSCore::EntryInternal& entry); + +private: + void fetchInstalled(); + KNSResource* resourceForEntry(const KNSCore::EntryInternal& entry); + void setFetching(bool f); + void markInvalid(const QString &message); + void searchStream(ResultsStream* stream, const QString &searchText); + + bool m_onePage = false; + bool m_responsePending = false; + bool m_fetching; + bool m_isValid; + KNSCore::Engine* m_engine; + QHash m_resourcesByName; + KNSReviews* const m_reviews; + QString m_name; + QString m_iconName; + StandardBackendUpdater* const m_updater; + QStringList m_extends; + QStringList m_categories; + QVector m_rootCategories; + QString m_displayName; + bool m_initialized = false; +}; + +#endif // KNSBACKEND_H diff --git a/libdiscover/backends/KNSBackend/KNSResource.cpp b/libdiscover/backends/KNSBackend/KNSResource.cpp new file mode 100644 index 0000000..c8dc2c1 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSResource.cpp @@ -0,0 +1,268 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "KNSResource.h" +#include "KNSBackend.h" +#include +#include +#include +#include +#include + +#include "ReviewsBackend/Rating.h" +#include + +KNSResource::KNSResource(const KNSCore::EntryInternal& entry, QStringList categories, KNSBackend* parent) + : AbstractResource(parent) + , m_categories(std::move(categories)) + , m_entry(entry) + , m_lastStatus(entry.status()) +{ + connect(this, &KNSResource::stateChanged, parent, &KNSBackend::updatesCountChanged); +} + +KNSResource::~KNSResource() = default; + +AbstractResource::State KNSResource::state() +{ + switch(m_entry.status()) { + case KNS3::Entry::Invalid: + return Broken; + case KNS3::Entry::Downloadable: + return None; + case KNS3::Entry::Installed: + return Installed; + case KNS3::Entry::Updateable: + return Upgradeable; + case KNS3::Entry::Deleted: + case KNS3::Entry::Installing: + case KNS3::Entry::Updating: + return None; + } + return None; +} + +KNSBackend * KNSResource::knsBackend() const +{ + return qobject_cast(parent()); +} + +QVariant KNSResource::icon() const +{ + const QString thumbnail = m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall1); + return thumbnail.isEmpty() ? knsBackend()->iconName() : m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall1); +} + +QString KNSResource::comment() +{ + QString ret = m_entry.shortSummary(); + if(ret.isEmpty()) { + ret = m_entry.summary(); + int newLine = ret.indexOf(QLatin1Char('\n')); + if(newLine>0) { + ret=ret.left(newLine); + } + ret = ret.replace(QRegularExpression(QStringLiteral("\\[/?[a-z]*\\]")), QString()); + ret = ret.remove(QRegularExpression(QStringLiteral("<[^>]*>"))); + } + return ret; +} + +QString KNSResource::longDescription() +{ + QString ret = m_entry.summary(); + if (m_entry.shortSummary().isEmpty()) { + const int newLine = ret.indexOf(QLatin1Char('\n')); + if (newLine<0) + ret.clear(); + else + ret = ret.mid(newLine+1).trimmed(); + } + ret = ret.replace(QLatin1Char('\r'), QString()); + ret = ret.replace(QStringLiteral("[li]"), QStringLiteral("\n* ")); + ret = ret.replace(QRegularExpression(QStringLiteral("\\[/?[a-z]*\\]")), QString()); + return ret; +} + +QString KNSResource::name() const +{ + return m_entry.name(); +} + +QString KNSResource::packageName() const +{ + return m_entry.uniqueId(); +} + +QStringList KNSResource::categories() +{ + return m_categories; +} + +QUrl KNSResource::homepage() +{ + return m_entry.homepage(); +} + +void KNSResource::setEntry(const KNSCore::EntryInternal& entry) +{ + const bool diff = entry.status() != m_lastStatus; + m_entry = entry; + if (diff) { + m_lastStatus = entry.status(); + Q_EMIT stateChanged(); + } +} + +KNSCore::EntryInternal KNSResource::entry() const +{ + return m_entry; +} + +QString KNSResource::license() +{ + return m_entry.license(); +} + +int KNSResource::size() +{ + const auto downloadInfo = m_entry.downloadLinkInformationList(); + return downloadInfo.isEmpty() ? 0 : downloadInfo.at(0).size; +} + +QString KNSResource::installedVersion() const +{ + return m_entry.version(); +} + +QString KNSResource::availableVersion() const +{ + return !m_entry.updateVersion().isEmpty() ? m_entry.updateVersion() : m_entry.version(); +} + +QString KNSResource::origin() const +{ + return m_entry.providerId(); +} + +QString KNSResource::section() +{ + return m_entry.category(); +} + +static void appendIfValid(QList& list, const QUrl &value, const QUrl &fallback = {}) +{ + if (!list.contains(value)) { + if (value.isValid() && !value.isEmpty()) + list << value; + else if (!fallback.isEmpty()) + appendIfValid(list, fallback); + } +} + +void KNSResource::fetchScreenshots() +{ + QList preview; + appendIfValid(preview, QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall1))); + appendIfValid(preview, QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall2))); + appendIfValid(preview, QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall3))); + + QList screenshots; + appendIfValid(screenshots, QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewBig1)), QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall1))); + appendIfValid(screenshots, QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewBig2)), QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall2))); + appendIfValid(screenshots, QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewBig3)), QUrl(m_entry.previewUrl(KNSCore::EntryInternal::PreviewSmall3))); + + emit screenshotsFetched(preview, screenshots); +} + +void KNSResource::fetchChangelog() +{ + emit changelogFetched(m_entry.changelog()); +} + +QStringList KNSResource::extends() const +{ + return knsBackend()->extends(); +} + +QStringList KNSResource::executables() const +{ + if (knsBackend()->engine()->hasAdoptionCommand()) + return {knsBackend()->engine()->adoptionCommand(m_entry)}; + else + return {}; +} + +QUrl KNSResource::url() const +{ + return QUrl(QStringLiteral("kns://")+knsBackend()->name() + QLatin1Char('/') + QUrl(m_entry.providerId()).host() + QLatin1Char('/') + m_entry.uniqueId()); +} + +void KNSResource::invokeApplication() const +{ + QStringList exes = executables(); + if(!exes.isEmpty()) { + const QString exe = exes.constFirst(); + auto args = KShell::splitArgs(exe); + QProcess::startDetached(args.takeFirst(), args); + } else { + qWarning() << "cannot execute" << packageName(); + } +} + +QString KNSResource::executeLabel() const +{ + return i18n("Use"); +} + +QDate KNSResource::releaseDate() const +{ + return m_entry.updateReleaseDate().isNull() ? m_entry.releaseDate() : m_entry.updateReleaseDate(); +} + +QVector KNSResource::linkIds() const +{ + QVector ids; + for(const auto &e : m_entry.downloadLinkInformationList()) { + if (e.isDownloadtypeLink) + ids << e.id; + } + return ids; +} + +QUrl KNSResource::donationURL() +{ + return QUrl(m_entry.donationLink()); +} + +Rating * KNSResource::ratingInstance() +{ + if (!m_rating) { + const int noc = m_entry.numberOfComments(); + const int rating = m_entry.rating(); + Q_ASSERT(rating <= 100); + return new Rating( + packageName(), + noc, + { { QStringLiteral("star5"), rating } } + ); + } + return m_rating; +} diff --git a/libdiscover/backends/KNSBackend/KNSResource.h b/libdiscover/backends/KNSBackend/KNSResource.h new file mode 100644 index 0000000..720eff7 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSResource.h @@ -0,0 +1,83 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef KNSRESOURCE_H +#define KNSRESOURCE_H + +#include +#include +#include +#include + +#include "discovercommon_export.h" + +class KNSBackend; +class DISCOVERCOMMON_EXPORT KNSResource : public AbstractResource +{ +Q_OBJECT +public: + explicit KNSResource(const KNSCore::EntryInternal & c, QStringList categories, KNSBackend* parent); + ~KNSResource() override; + + AbstractResource::State state() override; + QVariant icon() const override; + QString comment() override; + QString name() const override; + QString packageName() const override; + QStringList categories() override; + QUrl homepage() override; + QString license() override; + QString longDescription() override; + QList addonsInformation() override { return QList(); } + QString availableVersion() const override; + QString installedVersion() const override; + QString origin() const override; + QString section() override; + void fetchScreenshots() override; + int size() override; + void fetchChangelog() override; + QStringList extends() const override; + + KNSBackend* knsBackend() const; + + void setEntry(const KNSCore::EntryInternal& entry); + KNSCore::EntryInternal entry() const; + + bool canExecute() const override { return !executables().isEmpty(); } + QStringList executables() const; + void invokeApplication() const override; + + QUrl url() const override; + QString executeLabel() const override; + QString sourceIcon() const override { return QStringLiteral("get-hot-new-stuff"); } + QDate releaseDate() const override; + QVector linkIds() const; + QUrl donationURL() override; + + Rating* ratingInstance(); + +private: + const QStringList m_categories; + KNSCore::EntryInternal m_entry; + KNS3::Entry::Status m_lastStatus; + QPointer m_rating; +}; + +#endif // KNSRESOURCE_H diff --git a/libdiscover/backends/KNSBackend/KNSReviews.cpp b/libdiscover/backends/KNSBackend/KNSReviews.cpp new file mode 100644 index 0000000..c594477 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSReviews.cpp @@ -0,0 +1,183 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "KNSReviews.h" +#include "KNSBackend.h" +#include "KNSResource.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class SharedManager : public QObject +{ +Q_OBJECT +public: + SharedManager() { + atticaManager.loadDefaultProviders(); + } + +public: + Attica::ProviderManager atticaManager; +}; + +Q_GLOBAL_STATIC(SharedManager, s_shared) + +KNSReviews::KNSReviews(KNSBackend* backend) + : AbstractReviewsBackend(backend) + , m_backend(backend) +{ +} + +Rating* KNSReviews::ratingForApplication(AbstractResource* app) const +{ + KNSResource *resource = qobject_cast(app); + if (!resource) + { + qDebug() << app->packageName() << "<= couldn't find resource"; + return nullptr; + } + + return resource->ratingInstance(); +} + +void KNSReviews::fetchReviews(AbstractResource* app, int page) +{ + Attica::ListJob< Attica::Comment >* job = + provider().requestComments(Attica::Comment::ContentComment, app->packageName(), QStringLiteral("0"), page, 10); + if (!job) { + emit reviewsReady(app, {}, false); + return; + } + job->setProperty("app", qVariantFromValue(app)); + connect(job, &Attica::BaseJob::finished, this, &KNSReviews::commentsReceived); + job->start(); + m_fetching++; +} + +void KNSReviews::commentsReceived(Attica::BaseJob* j) +{ + m_fetching--; + Attica::ListJob* job = static_cast*>(j); + Attica::Comment::List comments = job->itemList(); + + QVector reviews; + AbstractResource* app = job->property("app").value(); + foreach(const Attica::Comment& comment, comments) { + //TODO: language lookup? + ReviewPtr r(new Review(app->name(), app->packageName(), QStringLiteral("en"), comment.subject(), comment.text(), comment.user(), + comment.date(), true, comment.id().toInt(), comment.score()/10, 0, 0, QString() + )); + reviews += r; + } + + emit reviewsReady(app, reviews, !reviews.isEmpty()); +} + +bool KNSReviews::isFetching() const +{ + return m_fetching > 0; +} + +void KNSReviews::flagReview(Review* /*r*/, const QString& /*reason*/, const QString& /*text*/) +{ + qWarning() << "cannot flag reviews"; +} + +void KNSReviews::deleteReview(Review* /*r*/) +{ + qWarning() << "cannot delete comments"; +} + +void KNSReviews::submitReview(AbstractResource* app, const QString& summary, const QString& review_text, const QString& rating) +{ + provider().voteForContent(app->packageName(), rating.toUInt() * 20); + if (!summary.isEmpty()) + provider().addNewComment(Attica::Comment::ContentComment, app->packageName(), QString(), QString(), summary, review_text); +} + +void KNSReviews::submitUsefulness(Review* r, bool useful) +{ + provider().voteForComment(QString::number(r->id()), useful*5); +} + +void KNSReviews::logout() +{ + bool b = provider().saveCredentials(QString(), QString()); + if (!b) + qWarning() << "couldn't log out"; +} + +void KNSReviews::registerAndLogin() +{ + QDesktopServices::openUrl(provider().baseUrl()); +} + +void KNSReviews::login() +{ + KPasswordDialog* dialog = new KPasswordDialog; + dialog->setPrompt(i18n("Log in information for %1", provider().name())); + connect(dialog, &KPasswordDialog::gotUsernameAndPassword, this, &KNSReviews::credentialsReceived); +} + +void KNSReviews::credentialsReceived(const QString& user, const QString& password) +{ + bool b = provider().saveCredentials(user, password); + if (!b) + qWarning() << "couldn't save" << user << "credentials for" << provider().name(); +} + +bool KNSReviews::hasCredentials() const +{ + return provider().hasCredentials(); +} + +QString KNSReviews::userName() const +{ + QString user, password; + provider().loadCredentials(user, password); + return user; +} + +void KNSReviews::setProviderUrl(const QUrl& url) +{ + m_providerUrl = url; + if(!m_providerUrl.isEmpty() && !s_shared->atticaManager.providerFiles().contains(url)) { + s_shared->atticaManager.addProviderFile(url); + } +} + +Attica::Provider KNSReviews::provider() const +{ + return s_shared->atticaManager.providerFor(m_providerUrl); +} + +bool KNSReviews::isResourceSupported(AbstractResource* res) const +{ + return qobject_cast(res); +} + +#include "KNSReviews.moc" diff --git a/libdiscover/backends/KNSBackend/KNSReviews.h b/libdiscover/backends/KNSBackend/KNSReviews.h new file mode 100644 index 0000000..8da15b2 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSReviews.h @@ -0,0 +1,67 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef KNSREVIEWS_H +#define KNSREVIEWS_H + +#include +#include + +class KNSBackend; +class QUrl; +namespace Attica { +class ProviderManager; +class BaseJob; +} + +class KNSReviews : public AbstractReviewsBackend +{ + Q_OBJECT + public: + explicit KNSReviews(KNSBackend* backend); + + void fetchReviews(AbstractResource* app, int page = 1) override; + bool isFetching() const override; + void flagReview(Review* r, const QString& reason, const QString& text) override; + void deleteReview(Review* r) override; + void submitReview(AbstractResource* app, const QString& summary, const QString& review_text, const QString& rating) override; + void submitUsefulness(Review* r, bool useful) override; + void logout() override; + void registerAndLogin() override; + void login() override; + Rating* ratingForApplication(AbstractResource* app) const override; + bool hasCredentials() const override; + QString userName() const override; + + void setProviderUrl(const QUrl &url); + bool isResourceSupported(AbstractResource * res) const override; + + private Q_SLOTS: + void commentsReceived(Attica::BaseJob* job); + void credentialsReceived(const QString& user, const QString& password); + + private: + Attica::Provider provider() const; + KNSBackend* const m_backend; + QUrl m_providerUrl; + int m_fetching = 0; +}; + +#endif // KNSREVIEWS_H diff --git a/libdiscover/backends/KNSBackend/custom/discover_ktexteditor_codesnippets_core.knsrc b/libdiscover/backends/KNSBackend/custom/discover_ktexteditor_codesnippets_core.knsrc new file mode 100644 index 0000000..aef74e6 --- /dev/null +++ b/libdiscover/backends/KNSBackend/custom/discover_ktexteditor_codesnippets_core.knsrc @@ -0,0 +1,66 @@ +[KNewStuff3] +Name=Kate Snippets +Name[ar]=قصاصات كيت +Name[ca]=Retalls del Kate +Name[ca@valencia]=Retalls del Kate +Name[cs]=Ústřižky Kate +Name[da]=Kate-tekststumper +Name[de]=Kate-Textbausteine +Name[el]=Τμήματα κώδικα Kate +Name[en_GB]=Kate Snippets +Name[es]=Fragmentos de código de Kate +Name[eu]=Katen mozkinak +Name[fi]=Kate-katkelmat +Name[fr]=Fragments Kate +Name[gl]=Fragmentos de código para Kate +Name[hu]=Kate Snippets +Name[id]=Kate Snippets +Name[it]=Frammenti di Kate +Name[ko]=Kate 스니펫 +Name[nl]=Kate-fragmenten +Name[nn]=Kate-tekstbitar +Name[pl]=Wstawki Kate +Name[pt]=Excertos do Kate +Name[pt_BR]=Trechos do Kate +Name[ru]=Фрагменты текста Kate +Name[sk]=Úryvky Kate +Name[sl]=Izrezki za Kate +Name[sr]=Кејтини исечци +Name[sr@ijekavian]=Кејтини исјечци +Name[sr@ijekavianlatin]=Kateini isječci +Name[sr@latin]=Kateini isečci +Name[sv]=Kate-textsnuttar +Name[tr]=Kate Kod Parçaları +Name[uk]=Фрагменти Kate +Name[x-test]=xxKate Snippetsxx +Name[zh_CN]=Kate 代码片断 +Name[zh_TW]=Kate 片段 + +#ProvidersUrl=http://.../provider.xml +ProvidersUrl=http://download.kde.org/ocs/providers.xml +Categories=KTextEditor Snippet +UploadCategories=KTextEditor Snippet + +# # How to check? Any number of the lines below, 'ifpossible' is default +# ChecksumPolicy=... # never/ifpossible/always +# SignaturePolicy=... # never/ifpossible/always + +# # Where to install? Exactly one of the lines below +# # Note: if all three are missing, entry is considered remote resource +# StandardResource=wallpapers # becomes $KDEHOME/share/wallpapers +# becomes $KDEHOME/share/apps/appname/datadir +TargetDir=/ktexteditor_snippets/ghns +# InstallPath=.dir/subdir # becomes $HOME/.dir/subdir + +# # How to name the files? + #doesn't use payload file name + +CustomName=true + +# # What to do after installation? Any number of the lines below +# # unpack the downloaded archive +# Uncompress=true +# # post-installation command +# InstallationCommand=dbus-send ... %f ... + +Extends=org.kde.kate.desktop diff --git a/libdiscover/backends/KNSBackend/tests/CMakeLists.txt b/libdiscover/backends/KNSBackend/tests/CMakeLists.txt new file mode 100644 index 0000000..4fabe5e --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/CMakeLists.txt @@ -0,0 +1,11 @@ +include_directories(..) + +add_executable(knsbackendtest KNSBackendTest.cpp) +add_test(knsbackendtest knsbackendtest) +ecm_mark_as_test(knsbackendtest) +target_link_libraries(knsbackendtest + Discover::Common + + Qt5::Test Qt5::Core + KF5::NewStuff KF5::Attica +) diff --git a/libdiscover/backends/KNSBackend/tests/KNSBackendTest.cpp b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.cpp new file mode 100644 index 0000000..058c9b0 --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.cpp @@ -0,0 +1,166 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "KNSBackendTest.h" +#include "utils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +QTEST_MAIN( KNSBackendTest ) + +KNSBackendTest::KNSBackendTest(QObject* parent) + : QObject(parent) + , m_r(nullptr) +{ + QStandardPaths::setTestModeEnabled(true); + ResourcesModel* model = new ResourcesModel(QLatin1String("kns-backend"), this); + Q_ASSERT(!model->backends().isEmpty()); + auto findTestBackend = [](AbstractResourcesBackend* backend) { + return backend->name() == QLatin1String("discover_ktexteditor_codesnippets_core.knsrc"); + }; + m_backend = kFilter>(model->backends(), findTestBackend).at(0); + + if (!m_backend->isValid()) { + qWarning() << "couldn't run the test"; + exit(0); + } + + connect(m_backend->reviewsBackend(), &AbstractReviewsBackend::reviewsReady, this, &KNSBackendTest::reviewsArrived); +} + +QVector KNSBackendTest::getResources(ResultsStream* stream, bool canBeEmpty) +{ + Q_ASSERT(stream); + Q_ASSERT(stream->objectName() != QLatin1String("KNS-void")); + QSignalSpy spyResources(stream, &ResultsStream::destroyed); + QVector resources; + connect(stream, &ResultsStream::resourcesFound, this, [&resources](const QVector& res) { resources += res; }); + Q_ASSERT(spyResources.wait(10000)); + Q_ASSERT(!resources.isEmpty() || canBeEmpty); + return resources; +} + +QVector KNSBackendTest::getAllResources(AbstractResourcesBackend* backend) +{ + AbstractResourcesBackend::Filters f; + if (CategoryModel::global()->rootCategories().isEmpty()) + CategoryModel::global()->populateCategories(); + f.category = CategoryModel::global()->rootCategories().constFirst(); + return getResources(backend->search(f)); +} + +void KNSBackendTest::testRetrieval() +{ + QVERIFY(m_backend->backendUpdater()); + QCOMPARE(m_backend->updatesCount(), m_backend->backendUpdater()->toUpdate().count()); + + QSignalSpy spy(m_backend, &AbstractResourcesBackend::fetchingChanged); + QVERIFY(!m_backend->isFetching() || spy.wait()); + + const auto resources = getAllResources(m_backend); + foreach(AbstractResource* res, resources) { + QVERIFY(!res->name().isEmpty()); + QVERIFY(!res->categories().isEmpty()); + QVERIFY(!res->origin().isEmpty()); + QVERIFY(!res->icon().isNull()); +// QVERIFY(!res->comment().isEmpty()); +// QVERIFY(!res->longDescription().isEmpty()); +// QVERIFY(!res->license().isEmpty()); + QVERIFY(res->homepage().isValid() && !res->homepage().isEmpty()); + QVERIFY(res->state() > AbstractResource::Broken); + QVERIFY(res->addonsInformation().isEmpty()); + + QSignalSpy spy(res, &AbstractResource::screenshotsFetched); + res->fetchScreenshots(); + QVERIFY(spy.count() || spy.wait()); + + QSignalSpy spy1(res, &AbstractResource::changelogFetched); + res->fetchChangelog(); + QVERIFY(spy1.count() || spy1.wait()); + } +} + +void KNSBackendTest::testReviews() +{ + const QVector resources = getAllResources(m_backend); + AbstractReviewsBackend* rev = m_backend->reviewsBackend(); + QVERIFY(!rev->hasCredentials()); + foreach(AbstractResource* res, resources) { + Rating* r = rev->ratingForApplication(res); + QVERIFY(r); + QCOMPARE(r->packageName(), res->packageName()); + QVERIFY(r->rating()>0 && r->rating()<=10); + } + + auto res = resources.first(); + QSignalSpy spy(rev, &AbstractReviewsBackend::reviewsReady); + rev->fetchReviews(res); + QVERIFY(spy.count() || spy.wait()); +} + +void KNSBackendTest::reviewsArrived(AbstractResource* r, const QVector& revs) +{ + m_r = r; + m_revs = revs; +} + +void KNSBackendTest::testResourceByUrl() +{ + AbstractResourcesBackend::Filters f; + f.resourceUrl = QUrl(QStringLiteral("kns://") + m_backend->name() + QStringLiteral("/api.kde-look.org/1136471")); + const QVector resources = getResources(m_backend->search(f)); + const QVector res = kTransform>(resources, [](AbstractResource* res){ return res->url(); }); + QCOMPARE(res.count(), 1); + QCOMPARE(f.resourceUrl, res.constFirst()); + + auto resource = resources.constFirst(); + QVERIFY(!resource->isInstalled()); //Make sure .qttest is clean before running the test + + QSignalSpy spy(resource, &AbstractResource::stateChanged); + auto b = resource->backend(); + b->installApplication(resource); + QVERIFY(spy.wait()); + b->removeApplication(resource); + QVERIFY(spy.wait()); + QCOMPARE(spy.count(), 2); + QVERIFY(!resource->isInstalled()); +} + +void KNSBackendTest::testResourceByUrlResourcesModel() +{ + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = QUrl(QStringLiteral("kns://plasmoids.knsrc/store.kde.org/1169537")); //Wrong domain + + auto resources = getResources(ResourcesModel::global()->search(filter), true); + const QVector res = kTransform>(resources, [](AbstractResource* res){ return res->url(); }); + QCOMPARE(res.count(), 0); +} diff --git a/libdiscover/backends/KNSBackend/tests/KNSBackendTest.h b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.h new file mode 100644 index 0000000..b244feb --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef KNSBACKENDTEST_H +#define KNSBACKENDTEST_H + +#include +#include +#include "ReviewsBackend/ReviewsModel.h" + +class AbstractResourcesBackend; +class AbstractResource; +class ResultsStream; +class Category; + +class KNSBackendTest : public QObject +{ + Q_OBJECT + public: + explicit KNSBackendTest(QObject* parent = nullptr); + + private Q_SLOTS: + void testRetrieval(); + void testReviews(); + void testResourceByUrl(); + void testResourceByUrlResourcesModel(); + + public Q_SLOTS: + void reviewsArrived(AbstractResource *r, const QVector& revs); + + private: + QVector getResources(ResultsStream* stream, bool canBeEmpty = false); + QVector getAllResources(AbstractResourcesBackend* backend); + QPointer m_backend; + QPointer m_r; + QVector m_revs; +}; + +#endif // KNSBACKENDTEST_H diff --git a/libdiscover/backends/KNSBackend/tests/testplasmoids.knsrc b/libdiscover/backends/KNSBackend/tests/testplasmoids.knsrc new file mode 100644 index 0000000..19293b5 --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/testplasmoids.knsrc @@ -0,0 +1,6 @@ +[KNewStuff3] +ProvidersUrl=http://download.kde.org/ocs/providers.xml +Categories=Plasma 5 Plasmoid +StandardResource=tmp +InstallationCommand=plasmapkg2 -i %f +UninstallCommand=plasmapkg2 -r %f diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp new file mode 100644 index 0000000..8c5ec76 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp @@ -0,0 +1,240 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AppPackageKitResource.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "config-paths.h" +#include "utils.h" + +AppPackageKitResource::AppPackageKitResource(const AppStream::Component& data, const QString &packageName, PackageKitBackend* parent) + : PackageKitResource(packageName, QString(), parent) + , m_appdata(data) +{ + Q_ASSERT(data.isValid()); +} + +QString AppPackageKitResource::name() const +{ + QString ret; + if (!m_appdata.extends().isEmpty()) { + auto components = backend()->componentsById(m_appdata.extends().constFirst()); + + if (components.isEmpty()) + qWarning() << "couldn't find" << m_appdata.extends() << "which is supposedly extended by" << m_appdata.id(); + else + ret = components.constFirst().name() + QStringLiteral(" - ") + m_appdata.name(); + } + + if (ret.isEmpty()) + ret = m_appdata.name(); + return ret; +} + +QString AppPackageKitResource::longDescription() +{ + const auto desc = m_appdata.description(); + if (!desc.isEmpty()) + return desc; + + return PackageKitResource::longDescription(); +} + +static QIcon componentIcon(const AppStream::Component &comp) +{ + QIcon ret; + foreach(const AppStream::Icon &icon, comp.icons()) { + QStringList stock; + switch(icon.kind()) { + case AppStream::Icon::KindLocal: + ret.addFile(icon.url().toLocalFile(), icon.size()); + break; + case AppStream::Icon::KindCached: + ret.addFile(icon.url().toLocalFile(), icon.size()); + break; + case AppStream::Icon::KindStock: { + const auto ret = QIcon::fromTheme(icon.name()); + if (!ret.isNull()) + return ret; + break; + } + default: + break; + } + } + if (ret.isNull()) { + ret = QIcon::fromTheme(QStringLiteral("package-x-generic")); + } + return ret; +} + +QVariant AppPackageKitResource::icon() const +{ + return componentIcon(m_appdata); +} + +QString AppPackageKitResource::license() +{ + const auto license = m_appdata.projectLicense(); + return license.isEmpty() ? PackageKitResource::license() : license; +} + +QStringList AppPackageKitResource::mimetypes() const +{ + return m_appdata.provided(AppStream::Provided::KindMimetype).items(); +} + +QStringList AppPackageKitResource::categories() +{ + auto cats = m_appdata.categories(); + if (m_appdata.kind() != AppStream::Component::KindAddon) + cats.append(QStringLiteral("Application")); + return cats; +} + +QString AppPackageKitResource::comment() +{ + const auto summary = m_appdata.summary(); + if (!summary.isEmpty()) + return summary; + + return PackageKitResource::comment(); +} + +QString AppPackageKitResource::appstreamId() const +{ + return m_appdata.id(); +} + +QUrl AppPackageKitResource::homepage() +{ + return m_appdata.url(AppStream::Component::UrlKindHomepage); +} + +QUrl AppPackageKitResource::helpURL() +{ + return m_appdata.url(AppStream::Component::UrlKindHelp); +} + +QUrl AppPackageKitResource::bugURL() +{ + return m_appdata.url(AppStream::Component::UrlKindBugtracker); +} + +QUrl AppPackageKitResource::donationURL() +{ + return m_appdata.url(AppStream::Component::UrlKindDonation); +} + +bool AppPackageKitResource::isTechnical() const +{ + static QString desktop = QString::fromUtf8(qgetenv("XDG_CURRENT_DESKTOP")); + const auto desktops = m_appdata.compulsoryForDesktops(); + return (!desktops.isEmpty() && !desktops.contains(desktop)) || m_appdata.kind() == AppStream::Component::KindAddon; +} + +void AppPackageKitResource::fetchScreenshots() +{ + const auto sc = AppStreamUtils::fetchScreenshots(m_appdata); + Q_EMIT screenshotsFetched(sc.first, sc.second); +} + +QStringList AppPackageKitResource::allPackageNames() const +{ + auto ret = m_appdata.packageNames(); + if (ret.isEmpty()) { + ret = QStringList{ PackageKit::Daemon::packageName(availablePackageId()) }; + } + return ret; +} + +QList AppPackageKitResource::addonsInformation() +{ + return kTransform>( + backend()->extendedBy(m_appdata.id()), + [](AppPackageKitResource* r) { return PackageState(r->appstreamId(), r->name(), r->comment(), r->isInstalled()); } + ); +} + +QStringList AppPackageKitResource::extends() const +{ + return m_appdata.extends(); +} + +QString AppPackageKitResource::changelog() const +{ + return AppStreamUtils::changelogToHtml(m_appdata); +} + +void AppPackageKitResource::invokeApplication() const +{ + auto trans = PackageKit::Daemon::getFiles({installedPackageId()}); + connect(trans, &PackageKit::Transaction::files, this, [this](const QString &/*packageID*/, const QStringList &filenames) { + const auto allServices = QStandardPaths::locateAll(QStandardPaths::ApplicationsLocation, m_appdata.id()); + if (!allServices.isEmpty()) { + const auto packageServices = kFilter(allServices, [filenames](const QString &file) { return filenames.contains(file); }); + QProcess::startDetached(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/discover/runservice"), {packageServices}); + } else { + const QStringList exes = m_appdata.provided(AppStream::Provided::KindBinary).items(); + const auto packageExecutables = kFilter(allServices, [filenames](const QString &exe) { return filenames.contains(QLatin1Char('/') + exe); }); + if (!packageExecutables.isEmpty()) { + QProcess::startDetached(exes.constFirst()); + } else { + const auto locations = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); + const auto desktopFiles = kFilter(filenames, [locations](const QString &exe) { + for (const auto &location: locations) { + if (exe.startsWith(location)) + return exe.contains(QLatin1String(".desktop")); + } + return false; + }); + if (!desktopFiles.isEmpty()) { + QProcess::startDetached(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/discover/runservice"), { desktopFiles }); + } + } + qWarning() << "Could not find any executables" << exes << filenames; + } + }); +} + +QDate AppPackageKitResource::releaseDate() const +{ + if (!m_appdata.releases().isEmpty()) { + auto release = m_appdata.releases().constFirst(); + return release.timestamp().date(); + } + + return {}; +} + +void AppPackageKitResource::fetchChangelog() +{ + emit changelogFetched(changelog()); +} diff --git a/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h new file mode 100644 index 0000000..3084ee1 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h @@ -0,0 +1,62 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef APPPACKAGEKITRESOURCE_H +#define APPPACKAGEKITRESOURCE_H + +#include "PackageKitResource.h" +#include "PackageKitBackend.h" + +class AppPackageKitResource : public PackageKitResource +{ + Q_OBJECT + public: + explicit AppPackageKitResource(const AppStream::Component& data, const QString &packageName, PackageKitBackend* parent); + + QString appstreamId() const override; + + bool isTechnical() const override; + QString name() const override; + QVariant icon() const override; + QStringList mimetypes() const override; + QStringList categories() override; + QString longDescription() override; + QUrl homepage() override; + QUrl helpURL() override; + QUrl bugURL() override; + QUrl donationURL() override; + QString comment() override; + QString license() override; + QStringList allPackageNames() const override; + QList addonsInformation() override; + QStringList extends() const override; + void fetchScreenshots() override; + void invokeApplication() const override; + bool canExecute() const override { return true; } + QDate releaseDate() const override; + QString changelog() const override; + + void fetchChangelog() override; + + private: + const AppStream::Component m_appdata; +}; + +#endif // APPPACKAGEKITRESOURCE_H diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt new file mode 100644 index 0000000..9e1b343 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt @@ -0,0 +1,38 @@ +find_package(KF5 REQUIRED Notifications) + +add_subdirectory(runservice) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-paths.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-paths.h) + +add_library(packagekit-backend MODULE PackageKitBackend.cpp + PackageKitResource.cpp + AppPackageKitResource.cpp + PKTransaction.cpp + PackageKitUpdater.cpp + PackageKitMessages.cpp + PackageKitSourcesBackend.cpp + LocalFilePKResource.cpp + TransactionSet.cpp + pkui.qrc +) + +target_link_libraries(packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::KIOCore KF5::Archive AppStreamQt) + +install(TARGETS packagekit-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover) + +#notifier +add_library(DiscoverPackageKitNotifier MODULE PackageKitNotifier.cpp) +target_link_libraries(DiscoverPackageKitNotifier PRIVATE PK::packagekitqt5 Discover::Notifiers KF5::I18n KF5::Notifications KF5::ConfigCore) +set_target_properties(DiscoverPackageKitNotifier PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover) + +install(TARGETS DiscoverPackageKitNotifier DESTINATION ${PLUGIN_INSTALL_DIR}/discover-notifier) + +install(FILES packagekit-backend-categories.xml DESTINATION ${DATA_INSTALL_DIR}/libdiscover/categories) +add_subdirectory(categoryimages) + +if(packagekitqt5_VERSION VERSION_GREATER 1.0.1 OR packagekitqt5_VERSION VERSION_EQUAL 1.0.1) + target_compile_definitions(packagekit-backend PUBLIC -DPKQT_1_0) + target_compile_definitions(DiscoverPackageKitNotifier PUBLIC -DPKQT_1_0) +endif() + +install( FILES org.kde.discover.packagekit.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/libdiscover/backends/PackageKitBackend/LocalFilePKResource.cpp b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.cpp new file mode 100644 index 0000000..4615051 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.cpp @@ -0,0 +1,57 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "LocalFilePKResource.h" +#include +#include + +LocalFilePKResource::LocalFilePKResource(QUrl path, PackageKitBackend* parent) + : PackageKitResource(path.toString(), path.toString(), parent) + , m_path(std::move(path)) +{ +} + +int LocalFilePKResource::size() +{ + const QFileInfo info(m_path.toLocalFile()); + return info.size(); +} + +QString LocalFilePKResource::name() const +{ + const QFileInfo info(m_path.toLocalFile()); + return info.baseName(); +} + +QString LocalFilePKResource::comment() +{ + return m_path.toLocalFile(); +} + +void LocalFilePKResource::markInstalled() +{ + m_state = AbstractResource::Installed; + Q_EMIT stateChanged(); +} + +QString LocalFilePKResource::origin() const +{ + return m_path.toLocalFile(); +} diff --git a/libdiscover/backends/PackageKitBackend/LocalFilePKResource.h b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.h new file mode 100644 index 0000000..4683b54 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.h @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef LOCALFILEPKRESOURCE_H +#define LOCALFILEPKRESOURCE_H + +#include "PackageKitResource.h" + +class LocalFilePKResource : public PackageKitResource +{ + Q_OBJECT + public: + LocalFilePKResource(QUrl path, PackageKitBackend* parent); + + QString name() const override; + QString comment() override; + + AbstractResource::State state() override { return m_state; } + int size() override; + void markInstalled(); + QString origin() const override; + + private: + AbstractResource::State m_state = AbstractResource::None; + QUrl m_path; +}; + +#endif // LOCALFILEPKRESOURCE_H diff --git a/libdiscover/backends/PackageKitBackend/PKTransaction.cpp b/libdiscover/backends/PackageKitBackend/PKTransaction.cpp new file mode 100644 index 0000000..fbf854f --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PKTransaction.cpp @@ -0,0 +1,294 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PKTransaction.h" +#include "PackageKitBackend.h" +#include "PackageKitResource.h" +#include "PackageKitMessages.h" +#include "utils.h" +#include "LocalFilePKResource.h" +#include +#include +#include +#include +#include +#include +#include + +PKTransaction::PKTransaction(const QVector& apps, Transaction::Role role) + : Transaction(apps.first(), apps.first(), role) + , m_apps(apps) +{ + Q_ASSERT(!apps.contains(nullptr)); + foreach(auto r, apps) { + PackageKitResource* res = qobject_cast(r); + m_pkgnames.unite(res->allPackageNames().toSet()); + } + + QTimer::singleShot(0, this, &PKTransaction::start); +} + +static QStringList packageIds(const QVector& res, std::function func) +{ + QStringList ret; + foreach(auto r, res) { + ret += func(qobject_cast(r)); + } + ret.removeDuplicates(); + return ret; +} + +void PKTransaction::start() +{ + trigger(PackageKit::Transaction::TransactionFlagSimulate); +} + +void PKTransaction::trigger(PackageKit::Transaction::TransactionFlags flags) +{ + if (m_trans) + m_trans->deleteLater(); + m_newPackageStates.clear(); + + if (m_apps.size() == 1 && qobject_cast(m_apps.at(0))) { + auto app = qobject_cast(m_apps.at(0)); + m_trans = PackageKit::Daemon::installFile(QUrl(app->packageName()).toLocalFile(), flags); + connect(m_trans.data(), &PackageKit::Transaction::finished, this, [this, app](PackageKit::Transaction::Exit status) { + const bool simulate = m_trans->transactionFlags() & PackageKit::Transaction::TransactionFlagSimulate; + if (!simulate && status == PackageKit::Transaction::ExitSuccess) { + app->markInstalled(); + } + }); + } else switch (role()) { + case Transaction::ChangeAddonsRole: + case Transaction::InstallRole: + m_trans = PackageKit::Daemon::installPackages(packageIds(m_apps, [](PackageKitResource* r){return r->availablePackageId(); }), flags); + break; + case Transaction::RemoveRole: + //see bug #315063 + m_trans = PackageKit::Daemon::removePackages(packageIds(m_apps, [](PackageKitResource* r){return r->installedPackageId(); }), true /*allowDeps*/, false, flags); + break; + }; + Q_ASSERT(m_trans); + +// connect(m_trans.data(), &PackageKit::Transaction::statusChanged, this, [this]() { qDebug() << "state..." << m_trans->status(); }); + connect(m_trans.data(), &PackageKit::Transaction::package, this, &PKTransaction::packageResolved); + connect(m_trans.data(), &PackageKit::Transaction::finished, this, &PKTransaction::cleanup); + connect(m_trans.data(), &PackageKit::Transaction::errorCode, this, &PKTransaction::errorFound); + connect(m_trans.data(), &PackageKit::Transaction::mediaChangeRequired, this, &PKTransaction::mediaChange); + connect(m_trans.data(), &PackageKit::Transaction::requireRestart, this, &PKTransaction::requireRestart); + connect(m_trans.data(), &PackageKit::Transaction::repoSignatureRequired, this, &PKTransaction::repoSignatureRequired); + connect(m_trans.data(), &PackageKit::Transaction::percentageChanged, this, &PKTransaction::progressChanged); + connect(m_trans.data(), &PackageKit::Transaction::statusChanged, this, &PKTransaction::statusChanged); + connect(m_trans.data(), &PackageKit::Transaction::eulaRequired, this, &PKTransaction::eulaRequired); + connect(m_trans.data(), &PackageKit::Transaction::allowCancelChanged, this, &PKTransaction::cancellableChanged); + connect(m_trans.data(), &PackageKit::Transaction::speedChanged, this, [this]() { + setDownloadSpeed(m_trans->speed()); + }); + + setCancellable(m_trans->allowCancel()); +} + +void PKTransaction::statusChanged() +{ + setStatus(m_trans->status() == PackageKit::Transaction::StatusDownload ? Transaction::DownloadingStatus : Transaction::CommittingStatus); + progressChanged(); +} + +int percentageWithStatus(PackageKit::Transaction::Status status, uint percentage); + +void PKTransaction::progressChanged() +{ + auto percent = m_trans->percentage(); + if (percent == 101) { + qWarning() << "percentage cannot be calculated"; + percent = 50; + } + + const auto processedPercentage = percentageWithStatus(m_trans->status(), qBound(0, percent, 100)); + if (processedPercentage >= 0) + setProgress(processedPercentage); +} + +void PKTransaction::cancellableChanged() +{ + setCancellable(m_trans->allowCancel()); +} + +void PKTransaction::cancel() +{ + if (!m_trans) { + setStatus(CancelledStatus); + } else if (m_trans->allowCancel()) { + m_trans->cancel(); + } else { + qWarning() << "trying to cancel a non-cancellable transaction: " << resource()->name(); + } +} + +void PKTransaction::cleanup(PackageKit::Transaction::Exit exit, uint runtime) +{ + Q_UNUSED(runtime) + const bool cancel = !m_proceedFunctions.isEmpty() || exit == PackageKit::Transaction::ExitCancelled; + const bool failed = exit == PackageKit::Transaction::ExitFailed || exit == PackageKit::Transaction::ExitUnknown; + const bool simulate = m_trans->transactionFlags() & PackageKit::Transaction::TransactionFlagSimulate; + + disconnect(m_trans, nullptr, this, nullptr); + m_trans = nullptr; + + const auto backend = qobject_cast(resource()->backend()); + + if (!cancel && !failed && simulate) { + auto packagesToRemove = m_newPackageStates.value(PackageKit::Transaction::InfoRemoving); + QMutableListIterator i(packagesToRemove); + QSet removedResources; + while (i.hasNext()) { + const auto pkgname = PackageKit::Daemon::packageName(i.next()); + removedResources.unite(backend->resourcesByPackageName(pkgname)); + + if (m_pkgnames.contains(pkgname)) { + i.remove(); + } + } + removedResources.subtract(kVectorToSet(m_apps)); + + if (!packagesToRemove.isEmpty() || !removedResources.isEmpty()) { + QString msg = QStringLiteral("
  • ") + PackageKitResource::joinPackages(packagesToRemove, QStringLiteral("
  • "), {}); + if (!removedResources.isEmpty()) { + const QStringList removedResourcesStr = kTransform(removedResources, [](AbstractResource* a) { return a->name(); }); + msg += QLatin1Char('\n'); + msg += removedResourcesStr.join(QStringLiteral("
  • ")); + } + msg += QStringLiteral("
"); + + Q_EMIT proceedRequest(i18n("Confirm package removal"), i18np("This action will also remove the following package:\n%2", "This action will also remove the following packages:\n%2", packagesToRemove.count(), msg)); + } else { + proceed(); + } + return; + } + + if (failed && m_newPackageStates.isEmpty()) + m_newPackageStates.insert(PackageKit::Transaction::InfoAvailable, kTransform(m_apps, [](AbstractResource* res) { return res->packageName(); })); + + this->submitResolve(); + if (failed) + setStatus(Transaction::DoneWithErrorStatus); + else if (cancel) + setStatus(Transaction::CancelledStatus); + else + setStatus(Transaction::DoneStatus); +} + +void PKTransaction::processProceedFunction() +{ + auto t = m_proceedFunctions.takeFirst()(); + connect(t, &PackageKit::Transaction::finished, this, [this](PackageKit::Transaction::Exit status) { + if (status != PackageKit::Transaction::Exit::ExitSuccess) { + qWarning() << "transaction failed" << sender() << status; + cancel(); + return; + } + + if (!m_proceedFunctions.isEmpty()) { + processProceedFunction(); + } else { + start(); + } + }); +} + +void PKTransaction::proceed() +{ + if (!m_proceedFunctions.isEmpty()) { + processProceedFunction(); + } else { + trigger(PackageKit::Transaction::TransactionFlagOnlyTrusted); + } +} + +void PKTransaction::packageResolved(PackageKit::Transaction::Info info, const QString& packageId) +{ + m_newPackageStates[info].append(packageId); +} + +void PKTransaction::submitResolve() +{ + QStringList needResolving; + foreach(const auto &pkgids, m_newPackageStates) { + foreach(const auto &pkgid, pkgids) { + needResolving += PackageKit::Daemon::packageName(pkgid); + } + } + + if (!needResolving.isEmpty()) { + needResolving.removeDuplicates(); + const auto backend = qobject_cast(resource()->backend()); + backend->clearPackages(needResolving); + backend->resolvePackages(needResolving); + backend->fetchUpdates(); + } +} + +PackageKit::Transaction* PKTransaction::transaction() +{ + return m_trans; +} + +void PKTransaction::eulaRequired(const QString& eulaID, const QString& packageID, const QString& vendor, const QString& licenseAgreement) +{ + m_proceedFunctions << [eulaID](){ + return PackageKit::Daemon::acceptEula(eulaID); + }; + + Q_EMIT proceedRequest(i18n("Accept EULA"), i18n("The package %1 and its vendor %2 require that you accept their license:\n %3", + PackageKit::Daemon::packageName(packageID), vendor, licenseAgreement)); +} + +void PKTransaction::errorFound(PackageKit::Transaction::Error err, const QString& error) +{ + if (err == PackageKit::Transaction::ErrorNoLicenseAgreement) + return; + qWarning() << "PackageKit error:" << err << PackageKitMessages::errorMessage(err) << error; + Q_EMIT passiveMessage(PackageKitMessages::errorMessage(err)); +} + +void PKTransaction::mediaChange(PackageKit::Transaction::MediaType media, const QString& type, const QString& text) +{ + Q_UNUSED(media) + Q_EMIT passiveMessage(i18n("Media Change of type '%1' is requested.\n%2", type, text)); +} + +void PKTransaction::requireRestart(PackageKit::Transaction::Restart restart, const QString& pkgid) +{ + Q_EMIT passiveMessage(PackageKitMessages::restartMessage(restart, pkgid)); +} + +void PKTransaction::repoSignatureRequired(const QString& packageID, const QString& repoName, const QString& keyUrl, + const QString& keyUserid, const QString& keyId, const QString& keyFingerprint, + const QString& keyTimestamp, PackageKit::Transaction::SigType type) +{ + Q_EMIT proceedRequest(i18n("Missing signature for %1 in %2", packageID, repoName), + i18n("Do you trust the following key?\n\nUrl: %1\nUser: %2\nKey: %3\nFingerprint: %4\nTimestamp: %4\n", + keyUrl, keyUserid, keyFingerprint, keyTimestamp)); + + m_proceedFunctions << [type, keyId, packageID](){ + return PackageKit::Daemon::installSignature(type, keyId, packageID); + }; +} diff --git a/libdiscover/backends/PackageKitBackend/PKTransaction.h b/libdiscover/backends/PackageKitBackend/PKTransaction.h new file mode 100644 index 0000000..e3b4189 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PKTransaction.h @@ -0,0 +1,73 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef PKTRANSACTION_H +#define PKTRANSACTION_H + +#include +#include +#include +#include + +class PKTransaction : public Transaction +{ + Q_OBJECT + public: + explicit PKTransaction(const QVector& app, Transaction::Role role); + PackageKit::Transaction* transaction(); + + void cancel() override; + void proceed() override; + + public Q_SLOTS: + void start(); + + private: + void processProceedFunction(); + void statusChanged(); + + void cleanup(PackageKit::Transaction::Exit, uint); + void errorFound(PackageKit::Transaction::Error err, const QString& error); + void mediaChange(PackageKit::Transaction::MediaType media, const QString& type, const QString& text); + void requireRestart(PackageKit::Transaction::Restart restart, const QString& p); + void progressChanged(); + void eulaRequired(const QString &eulaID, const QString &packageID, const QString &vendor, const QString &licenseAgreement); + void cancellableChanged(); + void packageResolved(PackageKit::Transaction::Info info, const QString& packageId); + void submitResolve(); + void repoSignatureRequired(const QString &packageID, + const QString &repoName, + const QString &keyUrl, + const QString &keyUserid, + const QString &keyId, + const QString &keyFingerprint, + const QString &keyTimestamp, + PackageKit::Transaction::SigType type); + + void trigger(PackageKit::Transaction::TransactionFlags flags); + QPointer m_trans; + const QVector m_apps; + QSet m_pkgnames; + QVector> m_proceedFunctions; + + QMap m_newPackageStates; +}; + +#endif // PKTRANSACTION_H diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp new file mode 100644 index 0000000..f445b58 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp @@ -0,0 +1,668 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PackageKitBackend.h" +#include "PackageKitSourcesBackend.h" +#include "PackageKitResource.h" +#include "PackageKitUpdater.h" +#include "AppPackageKitResource.h" +#include "PKTransaction.h" +#include "LocalFilePKResource.h" +#include "TransactionSet.h" +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include "utils.h" +#include "config-paths.h" + +DISCOVER_BACKEND_PLUGIN(PackageKitBackend) + +template +static void setWhenAvailable(const QDBusPendingReply& pending, W func, QObject* parent) +{ + QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(pending, parent); + QObject::connect(watcher, &QDBusPendingCallWatcher::finished, + parent, [func](QDBusPendingCallWatcher* watcher) { + watcher->deleteLater(); + QDBusPendingReply reply = *watcher; + func(reply.value()); + }); +} + +QString PackageKitBackend::locateService(const QString &filename) +{ + return QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("applications/")+filename); +} + +PackageKitBackend::PackageKitBackend(QObject* parent) + : AbstractResourcesBackend(parent) + , m_appdata(new AppStream::Pool) + , m_updater(new PackageKitUpdater(this)) + , m_refresher(nullptr) + , m_isFetching(0) + , m_reviews(AppStreamIntegration::global()->reviews()) +{ + QTimer* t = new QTimer(this); + connect(t, &QTimer::timeout, this, &PackageKitBackend::checkForUpdates); + t->setInterval(60 * 60 * 1000); + t->setSingleShot(false); + t->start(); + + m_delayedDetailsFetch.setSingleShot(true); + m_delayedDetailsFetch.setInterval(100); + connect(&m_delayedDetailsFetch, &QTimer::timeout, this, &PackageKitBackend::performDetailsFetch); + + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::updatesChanged, this, &PackageKitBackend::fetchUpdates); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::isRunningChanged, this, &PackageKitBackend::checkDaemonRunning); + connect(m_reviews.data(), &OdrsReviewsBackend::ratingsReady, this, &AbstractResourcesBackend::emitRatingsReady); + + SourcesModel::global()->addSourcesBackend(new PackageKitSourcesBackend(this)); + + reloadPackageList(); + + setWhenAvailable(PackageKit::Daemon::getTimeSinceAction(PackageKit::Transaction::RoleRefreshCache), [this](uint timeSince) { + if (timeSince > 3600) + checkForUpdates(); + else + fetchUpdates(); + }, this); +} + +PackageKitBackend::~PackageKitBackend() = default; + +bool PackageKitBackend::isFetching() const +{ + return m_isFetching; +} + +void PackageKitBackend::acquireFetching(bool f) +{ + if (f) + m_isFetching++; + else + m_isFetching--; + + if ((!f && m_isFetching==0) || (f && m_isFetching==1)) { + emit fetchingChanged(); + } + Q_ASSERT(m_isFetching>=0); +} + +void PackageKitBackend::reloadPackageList() +{ + acquireFetching(true); + if (m_refresher) { + disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList); + } + + QString error; + m_appdata.reset(new AppStream::Pool); + const bool b = m_appdata->load(&error); + if (!b && m_packages.packages.isEmpty()) { + qWarning() << "Could not open the AppStream metadata pool" << error; + + QTimer::singleShot(0, this, [this]() { + Q_EMIT passiveMessage(i18n("Please make sure that Appstream is properly set up on your system")); + }); + } + + const auto components = m_appdata->components(); + QStringList neededPackages; + neededPackages.reserve(components.size()); + foreach(const AppStream::Component& component, components) { + if (component.kind() == AppStream::Component::KindFirmware) + continue; + + const auto pkgNames = component.packageNames(); + if (pkgNames.isEmpty()) { + auto launchable = component.launchable(AppStream::Launchable::KindDesktopId); + if (component.kind() == AppStream::Component::KindDesktopApp && !launchable.entries().isEmpty()) { + const QString file = locateService(launchable.entries().constFirst()); + if (!file.isEmpty()) { + acquireFetching(true); + auto trans = PackageKit::Daemon::searchFiles(file); + connect(trans, &PackageKit::Transaction::package, this, [trans](PackageKit::Transaction::Info info, const QString &packageID){ + if (info == PackageKit::Transaction::InfoInstalled) + trans->setProperty("installedPackage", packageID); + }); + connect(trans, &PackageKit::Transaction::finished, this, [this, trans, component](PackageKit::Transaction::Exit status) { + const auto pkgidVal = trans->property("installedPackage"); + if (status == PackageKit::Transaction::ExitSuccess && !pkgidVal.isNull()) { + const auto pkgid = pkgidVal.toString(); + auto res = addComponent(component, {PackageKit::Daemon::packageName(pkgid)}); + res->clearPackageIds(); + res->addPackageId(PackageKit::Transaction::InfoInstalled, pkgid, true); + } + acquireFetching(false); + }); + continue; + } + } + + qDebug() << "no packages for" << component.id(); + continue; + } + neededPackages += pkgNames; + + addComponent(component, pkgNames); + } + + acquireFetching(false); + if (!neededPackages.isEmpty()) { + neededPackages.removeDuplicates(); + resolvePackages(neededPackages); + } else { + qDebug() << "empty appstream db"; + if (PackageKit::Daemon::backendName() == QLatin1String("aptcc") || PackageKit::Daemon::backendName().isEmpty()) { + checkForUpdates(); + } + } +} + +AppPackageKitResource* PackageKitBackend::addComponent(const AppStream::Component& component, const QStringList& pkgNames) +{ + Q_ASSERT(isFetching()); + Q_ASSERT(!pkgNames.isEmpty()); + + + AppPackageKitResource* res = qobject_cast(m_packages.packages[component.id()]); + if (!res) { + res = new AppPackageKitResource(component, pkgNames.at(0), this); + m_packages.packages[component.id()] = res; + } else { + res->clearPackageIds(); + } + foreach (const QString& pkg, pkgNames) { + m_packages.packageToApp[pkg] += component.id(); + } + + foreach (const QString& pkg, component.extends()) { + m_packages.extendedBy[pkg] += res; + } + return res; +} + +void PackageKitBackend::clearPackages(const QStringList& packageNames) +{ + const auto resources = resourcesByPackageNames>(packageNames); + for(auto res: resources) { + qobject_cast(res)->clearPackageIds(); + } +} + +void PackageKitBackend::resolvePackages(const QStringList &packageNames) +{ + PackageKit::Transaction * tArch = PackageKit::Daemon::resolve(packageNames, PackageKit::Transaction::FilterArch); + connect(tArch, &PackageKit::Transaction::package, this, &PackageKitBackend::addPackageArch); + connect(tArch, &PackageKit::Transaction::errorCode, this, &PackageKitBackend::transactionError); + + PackageKit::Transaction * tNotArch = PackageKit::Daemon::resolve(packageNames, PackageKit::Transaction::FilterNotArch); + connect(tNotArch, &PackageKit::Transaction::package, this, &PackageKitBackend::addPackageNotArch); + connect(tNotArch, &PackageKit::Transaction::errorCode, this, &PackageKitBackend::transactionError); + + TransactionSet* merge = new TransactionSet({tArch, tNotArch}); + connect(merge, &TransactionSet::allFinished, this, &PackageKitBackend::getPackagesFinished); +} + +void PackageKitBackend::fetchUpdates() +{ + if (m_updater->isProgressing()) + return; + + PackageKit::Transaction * tUpdates = PackageKit::Daemon::getUpdates(); + connect(tUpdates, &PackageKit::Transaction::finished, this, &PackageKitBackend::getUpdatesFinished); + connect(tUpdates, &PackageKit::Transaction::package, this, &PackageKitBackend::addPackageToUpdate); + connect(tUpdates, &PackageKit::Transaction::errorCode, this, &PackageKitBackend::transactionError); + m_updatesPackageId.clear(); + m_hasSecurityUpdates = false; + + m_updater->setProgressing(true); +} + +void PackageKitBackend::addPackageArch(PackageKit::Transaction::Info info, const QString& packageId, const QString& summary) +{ + addPackage(info, packageId, summary, true); +} + +void PackageKitBackend::addPackageNotArch(PackageKit::Transaction::Info info, const QString& packageId, const QString& summary) +{ + addPackage(info, packageId, summary, false); +} + +void PackageKitBackend::addPackage(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary, bool arch) +{ + const QString packageName = PackageKit::Daemon::packageName(packageId); + QSet r = resourcesByPackageName(packageName); + if (r.isEmpty()) { + auto pk = new PackageKitResource(packageName, summary, this); + r = { pk }; + m_packagesToAdd.insert(pk); + } + foreach(auto res, r) + static_cast(res)->addPackageId(info, packageId, arch); +} + +void PackageKitBackend::getPackagesFinished() +{ + for(auto it = m_packages.packages.cbegin(); it != m_packages.packages.cend(); ++it) { + auto pkr = qobject_cast(it.value()); + if (pkr->packages().isEmpty()) { +// qWarning() << "Failed to find package for" << it.key(); + m_packagesToDelete += pkr; + } + } + includePackagesToAdd(); +} + +void PackageKitBackend::includePackagesToAdd() +{ + if (m_packagesToAdd.isEmpty() && m_packagesToDelete.isEmpty()) + return; + + acquireFetching(true); + foreach(PackageKitResource* res, m_packagesToAdd) { + m_packages.packages[res->packageName()] = res; + } + foreach(PackageKitResource* res, m_packagesToDelete) { + const auto pkgs = m_packages.packageToApp.value(res->packageName(), {res->packageName()}); + foreach(const auto &pkg, pkgs) { + auto res = m_packages.packages.take(pkg); + if (res) { + if (AppPackageKitResource* ares = qobject_cast(res)) { + for(const auto &ext: res->extends()) + m_packages.extendedBy[ext].removeAll(ares); + } + + emit resourceRemoved(res); + res->deleteLater(); + } + } + } + m_packagesToAdd.clear(); + m_packagesToDelete.clear(); + acquireFetching(false); +} + +void PackageKitBackend::transactionError(PackageKit::Transaction::Error, const QString& message) +{ + qWarning() << "Transaction error: " << message << sender(); + Q_EMIT passiveMessage(message); +} + +void PackageKitBackend::packageDetails(const PackageKit::Details& details) +{ + const QSet resources = resourcesByPackageName(PackageKit::Daemon::packageName(details.packageId())); + if (resources.isEmpty()) + qWarning() << "couldn't find package for" << details.packageId(); + + foreach(AbstractResource* res, resources) { + qobject_cast(res)->setDetails(details); + } +} + +QSet PackageKitBackend::resourcesByPackageName(const QString& name) const +{ + return resourcesByPackageNames>({name}); +} + +template +T PackageKitBackend::resourcesByPackageNames(const QStringList &pkgnames) const +{ + T ret; + ret.reserve(pkgnames.size()); + for(const QString &name : pkgnames) { + const QStringList names = m_packages.packageToApp.value(name, QStringList(name)); + foreach(const QString& name, names) { + AbstractResource* res = m_packages.packages.value(name); + if (res) + ret += res; + } + } + return ret; +} + +void PackageKitBackend::checkForUpdates() +{ + if (!m_refresher) { + acquireFetching(true); + m_refresher = PackageKit::Daemon::refreshCache(false); + connect(m_refresher.data(), &PackageKit::Transaction::errorCode, this, &PackageKitBackend::transactionError); + connect(m_refresher.data(), &PackageKit::Transaction::finished, this, [this]() { + m_refresher = nullptr; + reloadPackageList(); + acquireFetching(false); + }); + } else { + qWarning() << "already resetting"; + } +} + +QList PackageKitBackend::componentsById(const QString& id) const +{ + return m_appdata->componentsById(id); +} + +ResultsStream* PackageKitBackend::search(const AbstractResourcesBackend::Filters& filter) +{ + if (!filter.resourceUrl.isEmpty()) { + return findResourceByPackageName(filter.resourceUrl); + } else if (!filter.extends.isEmpty()) { + const auto ext = kTransform>(m_packages.extendedBy[filter.extends], [](AppPackageKitResource* a){ return a; }); + return new ResultsStream(QStringLiteral("PackageKitStream-extends"), ext); + } else if (filter.search.isEmpty()) { + return new ResultsStream(QStringLiteral("PackageKitStream-all"), kFilter>(m_packages.packages, [](AbstractResource* res) { return !res->isTechnical(); })); + } else { + const QList components = m_appdata->search(filter.search); + const QStringList ids = kTransform(components, [](const AppStream::Component& comp) { return comp.id(); }); + auto stream = new ResultsStream(QStringLiteral("PackageKitStream-search")); + if (!ids.isEmpty()) { + const auto resources = resourcesByPackageNames>(ids); + QTimer::singleShot(0, this, [stream, resources] () { + Q_EMIT stream->resourcesFound(resources); + }); + } + + PackageKit::Transaction * tArch = PackageKit::Daemon::resolve(filter.search, PackageKit::Transaction::FilterArch); + connect(tArch, &PackageKit::Transaction::package, this, &PackageKitBackend::addPackageArch); + connect(tArch, &PackageKit::Transaction::package, stream, [stream](PackageKit::Transaction::Info /*info*/, const QString &packageId){ + stream->setProperty("packageId", packageId); + }); + connect(tArch, &PackageKit::Transaction::finished, stream, [stream, ids, this](PackageKit::Transaction::Exit status) { + getPackagesFinished(); + if (status == PackageKit::Transaction::Exit::ExitSuccess) { + const auto packageId = stream->property("packageId"); + if (!packageId.isNull()) { + const auto res = resourcesByPackageNames>({PackageKit::Daemon::packageName(packageId.toString())}); + Q_EMIT stream->resourcesFound(kFilter>(res, [ids](AbstractResource* res){ return !ids.contains(res->appstreamId()); })); + } + } + stream->finish(); + }, Qt::QueuedConnection); + return stream; + } +} + +ResultsStream * PackageKitBackend::findResourceByPackageName(const QUrl& url) +{ + AbstractResource* pkg = nullptr; + if (url.host().isEmpty()) + Q_EMIT passiveMessage(i18n("Malformed appstream url '%1'", url.toDisplayString())); + else if (url.scheme() == QLatin1String("appstream")) { + static const QMap deprecatedAppstreamIds = { + { QStringLiteral("org.kde.krita.desktop"), QStringLiteral("krita.desktop") }, + { QStringLiteral("org.kde.digikam.desktop"), QStringLiteral("digikam.desktop") }, + { QStringLiteral("org.kde.ktorrent.desktop"), QStringLiteral("ktorrent.desktop") }, + { QStringLiteral("org.kde.gcompris.desktop"), QStringLiteral("gcompris.desktop") }, + { QStringLiteral("org.kde.kmymoney.desktop"), QStringLiteral("kmymoney.desktop") }, + { QStringLiteral("org.kde.kolourpaint.desktop"), QStringLiteral("kolourpaint.desktop") }, + { QStringLiteral("org.blender.blender.desktop"), QStringLiteral("blender.desktop") }, + }; + + const auto host = url.host(); + if (host.isEmpty()) + Q_EMIT passiveMessage(i18n("Malformed appstream url '%1'", url.toDisplayString())); + else { + const auto deprecatedHost = deprecatedAppstreamIds.value(host); //try this as fallback + for (auto it = m_packages.packages.constBegin(), itEnd = m_packages.packages.constEnd(); it != itEnd; ++it) { + if (it.key().compare(host, Qt::CaseInsensitive) == 0 + || it.key().compare(deprecatedHost, Qt::CaseInsensitive) == 0 + || (host.endsWith(QLatin1String(".desktop")) && host.compare(it.key()+QLatin1String(".desktop"), Qt::CaseInsensitive) == 0)) { + pkg = it.value(); + break; + } + } + if (!pkg) + qDebug() << "could not find" << host << deprecatedHost; + } + } + return new ResultsStream(QStringLiteral("PackageKitStream-url"), pkg ? QVector{pkg} : QVector{}); +} + +bool PackageKitBackend::hasSecurityUpdates() const +{ + return m_hasSecurityUpdates; +} + +int PackageKitBackend::updatesCount() const +{ + int ret = 0; + QSet packages; + for(auto res: upgradeablePackages()) { + const auto packageName = res->packageName(); + if (packages.contains(packageName)) { + continue; + } + packages.insert(packageName); + ret += 1; + } + return ret; +} + +Transaction* PackageKitBackend::installApplication(AbstractResource* app, const AddonList& addons) +{ + Transaction* t = nullptr; + if(!addons.addonsToInstall().isEmpty()) + { + QVector appsToInstall; + + if(!app->isInstalled()) + appsToInstall << app; + + foreach(const QString& toInstall, addons.addonsToInstall()) { + appsToInstall += m_packages.packages.value(toInstall); + Q_ASSERT(appsToInstall.last()); + } + t = new PKTransaction(appsToInstall, Transaction::ChangeAddonsRole); + } + + if (!addons.addonsToRemove().isEmpty()) { + QVector appsToRemove = kTransform>(addons.addonsToRemove(), [this](const QString& toRemove){ return m_packages.packages.value(toRemove); }); + t = new PKTransaction(appsToRemove, Transaction::RemoveRole); + } + + if (!app->isInstalled()) + t = installApplication(app); + + return t; +} + +Transaction* PackageKitBackend::installApplication(AbstractResource* app) +{ + return new PKTransaction({app}, Transaction::InstallRole); +} + +Transaction* PackageKitBackend::removeApplication(AbstractResource* app) +{ + Q_ASSERT(!isFetching()); + return new PKTransaction({app}, Transaction::RemoveRole); +} + +QSet PackageKitBackend::upgradeablePackages() const +{ + if (isFetching() || !m_packagesToAdd.isEmpty()) { + return {}; + } + + QSet ret; + ret.reserve(m_updatesPackageId.size()); + Q_FOREACH (const QString& pkgid, m_updatesPackageId) { + const QString pkgname = PackageKit::Daemon::packageName(pkgid); + const auto pkgs = resourcesByPackageName(pkgname); + if (pkgs.isEmpty()) { + qWarning() << "couldn't find resource for" << pkgid; + } + ret.unite(pkgs); + } + return ret; +} + +void PackageKitBackend::addPackageToUpdate(PackageKit::Transaction::Info info, const QString& packageId, const QString& summary) +{ + if (info == PackageKit::Transaction::InfoBlocked) { + return; + } + + if (info == PackageKit::Transaction::InfoSecurity) + m_hasSecurityUpdates = true; + + m_updatesPackageId += packageId; + addPackage(info, packageId, summary, true); +} + +void PackageKitBackend::getUpdatesFinished(PackageKit::Transaction::Exit, uint) +{ + if (!m_updatesPackageId.isEmpty()) { + fetchDetails(m_updatesPackageId); + } + + m_updater->setProgressing(false); + + includePackagesToAdd(); + emit updatesCountChanged(); +} + +bool PackageKitBackend::isPackageNameUpgradeable(const PackageKitResource* res) const +{ + return !upgradeablePackageId(res).isEmpty(); +} + +QString PackageKitBackend::upgradeablePackageId(const PackageKitResource* res) const +{ + QString name = res->packageName(); + foreach (const QString& pkgid, m_updatesPackageId) { + if (PackageKit::Daemon::packageName(pkgid) == name) + return pkgid; + } + return QString(); +} + +void PackageKitBackend::fetchDetails(const QSet& pkgid) +{ + if (!m_delayedDetailsFetch.isActive()) { + m_delayedDetailsFetch.start(); + } + + m_packageNamesToFetchDetails += pkgid; +} + +void PackageKitBackend::performDetailsFetch() +{ + Q_ASSERT(!m_packageNamesToFetchDetails.isEmpty()); + const auto ids = m_packageNamesToFetchDetails.toList(); + + PackageKit::Transaction* transaction = PackageKit::Daemon::getDetails(ids); + connect(transaction, &PackageKit::Transaction::details, this, &PackageKitBackend::packageDetails); + connect(transaction, &PackageKit::Transaction::errorCode, this, &PackageKitBackend::transactionError); + m_packageNamesToFetchDetails.clear(); +} + +void PackageKitBackend::checkDaemonRunning() +{ + if (!PackageKit::Daemon::isRunning()) { + qWarning() << "PackageKit stopped running!"; + } +} + +AbstractBackendUpdater* PackageKitBackend::backendUpdater() const +{ + return m_updater; +} + +QVector PackageKitBackend::extendedBy(const QString& id) const +{ + return m_packages.extendedBy[id]; +} + +AbstractReviewsBackend* PackageKitBackend::reviewsBackend() const +{ + return m_reviews.data(); +} + +AbstractResource * PackageKitBackend::resourceForFile(const QUrl& file) +{ + QMimeDatabase db; + const auto mime = db.mimeTypeForUrl(file); + if ( mime.inherits(QLatin1String("application/vnd.debian.binary-package")) + || mime.inherits(QLatin1String("application/x-rpm")) + || mime.inherits(QLatin1String("application/x-tar")) + || mime.inherits(QLatin1String("application/x-xz-compressed-tar")) + ) { + return new LocalFilePKResource(file, this); + } + return nullptr; +} + +static QString readDistroName() +{ + const QStringList osreleasenames = (QStringList() << QStringLiteral("/etc/os-release") + << QStringLiteral("/usr/lib/os-release")); + foreach (QString osrelease, osreleasenames) + { + QFile file(osrelease); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QByteArray line; + while (!file.atEnd()) { + line = file.readLine().trimmed(); + if (line.startsWith("NAME=")) { + auto output = line.right(line.length()-5); + output = output.replace('\"',""); + return QString::fromLocal8Bit(output); + } + } + } + } + + QProcess process; + process.setEnvironment({QStringLiteral("LC_ALL=C")}); + process.start(QStringLiteral("lsb_release"), {QStringLiteral("-sd")}); + process.waitForFinished(); + auto output = process.readAll().trimmed(); + if (output.startsWith('\"') && output.endsWith('\"')) + output = output.mid(1, output.length()-2); + return QString::fromLocal8Bit(output); +} + +QString PackageKitBackend::displayName() const +{ + static const QString distro = readDistroName(); + return distro; +} + +#include "PackageKitBackend.moc" diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h new file mode 100644 index 0000000..091377f --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h @@ -0,0 +1,126 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef PACKAGEKITBACKEND_H +#define PACKAGEKITBACKEND_H + +#include "PackageKitResource.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class AppPackageKitResource; +class PackageKitUpdater; +class PKTransaction; +class OdrsReviewsBackend; +class DISCOVERCOMMON_EXPORT PackageKitBackend : public AbstractResourcesBackend +{ + Q_OBJECT + public: + explicit PackageKitBackend(QObject* parent = nullptr); + ~PackageKitBackend() override; + + AbstractBackendUpdater* backendUpdater() const override; + AbstractReviewsBackend* reviewsBackend() const override; + QSet resourcesByPackageName(const QString& name) const; + + ResultsStream* search(const AbstractResourcesBackend::Filters & search) override; + ResultsStream* findResourceByPackageName(const QUrl& search); + int updatesCount() const override; + bool hasSecurityUpdates() const override; + + Transaction* installApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app, const AddonList& addons) override; + Transaction* removeApplication(AbstractResource* app) override; + bool isValid() const override { return true; } + QSet upgradeablePackages() const; + bool isFetching() const override; + + bool isPackageNameUpgradeable(const PackageKitResource* res) const; + QString upgradeablePackageId(const PackageKitResource* res) const; + QVector extendedBy(const QString& id) const; + + void clearPackages(const QStringList &packageNames); + void resolvePackages(const QStringList &packageNames); + void fetchDetails(const QString& pkgid) { fetchDetails(QSet{pkgid}); } + void fetchDetails(const QSet& pkgid); + + AbstractResource * resourceForFile(const QUrl & ) override; + void checkForUpdates() override; + QString displayName() const override; + + bool hasApplications() const override { return true; } + static QString locateService(const QString &filename); + + QList componentsById(const QString &id) const; + void fetchUpdates(); + + public Q_SLOTS: + void reloadPackageList(); + void transactionError(PackageKit::Transaction::Error, const QString& message); + + private Q_SLOTS: + void getPackagesFinished(); + void addPackage(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary, bool arch); + void addPackageArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); + void addPackageNotArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); + void packageDetails(const PackageKit::Details& details); + void addPackageToUpdate(PackageKit::Transaction::Info, const QString& pkgid, const QString& summary); + void getUpdatesFinished(PackageKit::Transaction::Exit,uint); + + private: + template + T resourcesByPackageNames(const QStringList& names) const; + + void checkDaemonRunning(); + void acquireFetching(bool f); + void includePackagesToAdd(); + void performDetailsFetch(); + AppPackageKitResource* addComponent(const AppStream::Component& component, const QStringList& pkgNames); + + QScopedPointer m_appdata; + PackageKitUpdater* m_updater; + QPointer m_refresher; + int m_isFetching; + QSet m_updatesPackageId; + bool m_hasSecurityUpdates = false; + QSet m_packagesToAdd; + QSet m_packagesToDelete; + + struct Packages { + QHash packages; + QHash packageToApp; + QHash> extendedBy; + void clear() { *this = {}; } + }; + + QTimer m_delayedDetailsFetch; + QSet m_packageNamesToFetchDetails; + Packages m_packages; + QSharedPointer m_reviews; +}; + +#endif // PACKAGEKITBACKEND_H diff --git a/libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp b/libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp new file mode 100644 index 0000000..ee82ef8 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp @@ -0,0 +1,333 @@ +/*************************************************************************** + * Copyright © 2012-2014 Aleix Pol Gonzalez * + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PackageKitMessages.h" +#include +#include +#include + +namespace PackageKitMessages +{ + +QString errorMessage(PackageKit::Transaction::Error error) +{ + switch(error) { + case PackageKit::Transaction::ErrorOom: + return i18n("Out of memory"); + case PackageKit::Transaction::ErrorNoNetwork: + return i18n("No network connection available"); + case PackageKit::Transaction::ErrorNotSupported: + return i18n("Operation not supported"); + case PackageKit::Transaction::ErrorInternalError: + return i18n("Internal error"); + case PackageKit::Transaction::ErrorGpgFailure: + return i18n("GPG failure"); + case PackageKit::Transaction::ErrorPackageIdInvalid: + return i18n("PackageID invalid"); + case PackageKit::Transaction::ErrorPackageNotInstalled: + return i18n("Package not installed"); + case PackageKit::Transaction::ErrorPackageNotFound: + return i18n("Package not found"); + case PackageKit::Transaction::ErrorPackageAlreadyInstalled: + return i18n("Package is already installed"); + case PackageKit::Transaction::ErrorPackageDownloadFailed: + return i18n("Package download failed"); + case PackageKit::Transaction::ErrorGroupNotFound: + return i18n("Package group not found"); + case PackageKit::Transaction::ErrorGroupListInvalid: + return i18n("Package group list invalid"); + case PackageKit::Transaction::ErrorDepResolutionFailed: + return i18n("Dependency resolution failed"); + case PackageKit::Transaction::ErrorFilterInvalid: + return i18n("Filter invalid"); + case PackageKit::Transaction::ErrorCreateThreadFailed: + return i18n("Failed while creating a thread"); + case PackageKit::Transaction::ErrorTransactionError: + return i18n("Transaction failure"); + case PackageKit::Transaction::ErrorTransactionCancelled: + return i18n("Transaction canceled"); + case PackageKit::Transaction::ErrorNoCache: + return i18n("No Cache available"); + case PackageKit::Transaction::ErrorRepoNotFound: + return i18n("Cannot find repository"); + case PackageKit::Transaction::ErrorCannotRemoveSystemPackage: + return i18n("Cannot remove system package"); + case PackageKit::Transaction::ErrorProcessKill: + return i18n("The PackageKit daemon has crashed"); + case PackageKit::Transaction::ErrorFailedInitialization: + return i18n("Initialization failure"); + case PackageKit::Transaction::ErrorFailedFinalise: + return i18n("Failed to finalize transaction"); + case PackageKit::Transaction::ErrorFailedConfigParsing: + return i18n("Config parsing failed"); + case PackageKit::Transaction::ErrorCannotCancel: + return i18n("Cannot cancel transaction"); + case PackageKit::Transaction::ErrorCannotGetLock: + return i18n("Cannot obtain lock"); + case PackageKit::Transaction::ErrorNoPackagesToUpdate: + return i18n("No packages to update"); + case PackageKit::Transaction::ErrorCannotWriteRepoConfig: + return i18n("Cannot write repo config"); + case PackageKit::Transaction::ErrorLocalInstallFailed: + return i18n("Local install failed"); + case PackageKit::Transaction::ErrorBadGpgSignature: + return i18n("Bad GPG signature found"); + case PackageKit::Transaction::ErrorMissingGpgSignature: + return i18n("No GPG signature found"); + case PackageKit::Transaction::ErrorCannotInstallSourcePackage: + return i18n("Cannot install source package"); + case PackageKit::Transaction::ErrorRepoConfigurationError: + return i18n("Repo configuration error"); + case PackageKit::Transaction::ErrorNoLicenseAgreement: + return i18n("No license agreement"); + case PackageKit::Transaction::ErrorFileConflicts: + return i18n("File conflicts found"); + case PackageKit::Transaction::ErrorPackageConflicts: + return i18n("Package conflict found"); + case PackageKit::Transaction::ErrorRepoNotAvailable: + return i18n("Repo not available"); + case PackageKit::Transaction::ErrorInvalidPackageFile: + return i18n("Invalid package file"); + case PackageKit::Transaction::ErrorPackageInstallBlocked: + return i18n("Package install blocked"); + case PackageKit::Transaction::ErrorPackageCorrupt: + return i18n("Corrupt package found"); + case PackageKit::Transaction::ErrorAllPackagesAlreadyInstalled: + return i18n("All packages already installed"); + case PackageKit::Transaction::ErrorFileNotFound: + return i18n("File not found"); + case PackageKit::Transaction::ErrorNoMoreMirrorsToTry: + return i18n("No more mirrors available"); + case PackageKit::Transaction::ErrorNoDistroUpgradeData: + return i18n("No distro upgrade data"); + case PackageKit::Transaction::ErrorIncompatibleArchitecture: + return i18n("Incompatible architecture"); + case PackageKit::Transaction::ErrorNoSpaceOnDevice: + return i18n("No space on device left"); + case PackageKit::Transaction::ErrorMediaChangeRequired: + return i18n("A media change is required"); + case PackageKit::Transaction::ErrorNotAuthorized: + return i18n("You have no authorization to execute this operation"); + case PackageKit::Transaction::ErrorUpdateNotFound: + return i18n("Update not found"); + case PackageKit::Transaction::ErrorCannotInstallRepoUnsigned: + return i18n("Cannot install from unsigned repo"); + case PackageKit::Transaction::ErrorCannotUpdateRepoUnsigned: + return i18n("Cannot update from unsigned repo"); + case PackageKit::Transaction::ErrorCannotGetFilelist: + return i18n("Cannot get file list"); + case PackageKit::Transaction::ErrorCannotGetRequires: + return i18n("Cannot get requires"); + case PackageKit::Transaction::ErrorCannotDisableRepository: + return i18n("Cannot disable repository"); + case PackageKit::Transaction::ErrorRestrictedDownload: + return i18n("Restricted download detected"); + case PackageKit::Transaction::ErrorPackageFailedToConfigure: + return i18n("Package failed to configure"); + case PackageKit::Transaction::ErrorPackageFailedToBuild: + return i18n("Package failed to build"); + case PackageKit::Transaction::ErrorPackageFailedToInstall: + return i18n("Package failed to install"); + case PackageKit::Transaction::ErrorPackageFailedToRemove: + return i18n("Package failed to remove"); + case PackageKit::Transaction::ErrorUpdateFailedDueToRunningProcess: + return i18n("Update failed due to running process"); + case PackageKit::Transaction::ErrorPackageDatabaseChanged: + return i18n("The package database changed"); + case PackageKit::Transaction::ErrorProvideTypeNotSupported: + return i18n("The provided type is not supported"); + case PackageKit::Transaction::ErrorInstallRootInvalid: + return i18n("Install root is invalid"); + case PackageKit::Transaction::ErrorCannotFetchSources: + return i18n("Cannot fetch sources"); + case PackageKit::Transaction::ErrorCancelledPriority: + return i18n("Canceled priority"); + case PackageKit::Transaction::ErrorUnfinishedTransaction: + return i18n("Unfinished transaction"); + case PackageKit::Transaction::ErrorLockRequired: + return i18n("Lock required"); + case PackageKit::Transaction::ErrorUnknown: + default: { + int idx = PackageKit::Transaction::staticMetaObject.indexOfEnumerator("Error"); + QMetaEnum metaenum = PackageKit::Transaction::staticMetaObject.enumerator(idx); + return i18n("Unknown error %1.", QString::fromLatin1(metaenum.valueToKey(error))); + } + } +} + +QString restartMessage(PackageKit::Transaction::Restart restart, const QString& pkgid) +{ + switch (restart) { + case PackageKit::Transaction::RestartApplication: + return i18n("'%1' was changed and suggests to be restarted.", PackageKit::Daemon::packageName(pkgid)); + case PackageKit::Transaction::RestartSession: + return i18n("A change by '%1' suggests your session to be restarted.", PackageKit::Daemon::packageName(pkgid)); + case PackageKit::Transaction::RestartSecuritySession: + return i18n("'%1' was updated for security reasons, a restart of the session is recommended.", PackageKit::Daemon::packageName(pkgid)); + case PackageKit::Transaction::RestartSecuritySystem: + return i18n("'%1' was updated for security reasons, a restart of the system is recommended.", PackageKit::Daemon::packageName(pkgid)); + case PackageKit::Transaction::RestartSystem: + case PackageKit::Transaction::RestartUnknown: + case PackageKit::Transaction::RestartNone: + default: + return i18n("A change by '%1' suggests your system to be rebooted.", PackageKit::Daemon::packageName(pkgid)); + } +} + +QString restartMessage(PackageKit::Transaction::Restart restart) +{ + switch (restart) { + case PackageKit::Transaction::RestartApplication: + return i18n("The application will have to be restarted."); + case PackageKit::Transaction::RestartSession: + return i18n("The session will have to be restarted"); + case PackageKit::Transaction::RestartSystem: + return i18n("The system will have to be rebooted."); + case PackageKit::Transaction::RestartSecuritySession: + return i18n("For security, the session will have to be restarted."); + case PackageKit::Transaction::RestartSecuritySystem: + return i18n("For security, the system will have to be restarted."); + case PackageKit::Transaction::RestartUnknown: + case PackageKit::Transaction::RestartNone: + default: + return QString(); + } +} + +QString statusMessage(PackageKit::Transaction::Status status) +{ + switch (status) { + case PackageKit::Transaction::StatusWait: + return i18n("Waiting..."); + case PackageKit::Transaction::StatusRefreshCache: + return i18n("Refreshing Cache..."); + case PackageKit::Transaction::StatusSetup: + return i18n("Setup..."); + case PackageKit::Transaction::StatusRunning: + return i18n("Processing..."); + case PackageKit::Transaction::StatusRemove: + return i18n("Remove..."); + case PackageKit::Transaction::StatusDownload: + return i18n("Downloading..."); + case PackageKit::Transaction::StatusInstall: + return i18n("Installing..."); + case PackageKit::Transaction::StatusUpdate: + return i18n("Updating..."); + case PackageKit::Transaction::StatusCleanup: + return i18n("Cleaning up..."); +// case PackageKit::Transaction::StatusObsolete: + case PackageKit::Transaction::StatusDepResolve: + return i18n("Resolving dependencies..."); + case PackageKit::Transaction::StatusSigCheck: + return i18n("Checking signatures..."); + case PackageKit::Transaction::StatusTestCommit: + return i18n("Test committing..."); + case PackageKit::Transaction::StatusCommit: + return i18n("Committing..."); + //StatusRequest, + case PackageKit::Transaction::StatusFinished: + return i18n("Finished"); + case PackageKit::Transaction::StatusCancel: + return i18n("Canceled"); + case PackageKit::Transaction::StatusWaitingForLock: + return i18n("Waiting for lock..."); + case PackageKit::Transaction::StatusWaitingForAuth: + return i18n("Waiting for authorization..."); + //StatusScanProcessList, + //StatusCheckExecutableFiles, + //StatusCheckLibraries, + case PackageKit::Transaction::StatusCopyFiles: + return i18n("Copying files..."); + case PackageKit::Transaction::StatusUnknown: + default: + return i18n("Unknown Status"); + } +} + +QString statusDetail(PackageKit::Transaction::Status status) +{ + switch (status) { + case PackageKit::Transaction::StatusWait: + return i18n("We are waiting for something."); + case PackageKit::Transaction::StatusSetup: + return i18n("Setting up transaction..."); + case PackageKit::Transaction::StatusRunning: + return i18n("The transaction is currently working..."); + case PackageKit::Transaction::StatusRemove: + return i18n("The transaction is currently removing packages..."); + case PackageKit::Transaction::StatusDownload: + return i18n("The transaction is currently downloading packages..."); + case PackageKit::Transaction::StatusInstall: + return i18n("The transactions is currently installing packages..."); + case PackageKit::Transaction::StatusUpdate: + return i18n("The transaction is currently updating packages..."); + case PackageKit::Transaction::StatusCleanup: + return i18n("The transaction is currently cleaning up..."); + //case PackageKit::Transaction::StatusObsolete, + case PackageKit::Transaction::StatusDepResolve: + return i18n("The transaction is currently resolving the dependencies of the packages it will install..."); + case PackageKit::Transaction::StatusSigCheck: + return i18n("The transaction is currently checking the signatures of the packages..."); + case PackageKit::Transaction::StatusTestCommit: + return i18n("The transaction is currently testing the commit of this set of packages..."); + case PackageKit::Transaction::StatusCommit: + return i18n("The transaction is currently committing its set of packages..."); + //StatusRequest, + case PackageKit::Transaction::StatusFinished: + return i18n("The transaction has finished!"); + case PackageKit::Transaction::StatusCancel: + return i18n("The transaction was canceled"); + case PackageKit::Transaction::StatusWaitingForLock: + return i18n("The transaction is currently waiting for the lock..."); + case PackageKit::Transaction::StatusWaitingForAuth: + return i18n("Waiting for the user to authorize the transaction..."); + //StatusScanProcessList, + //StatusCheckExecutableFiles, + //StatusCheckLibraries, + case PackageKit::Transaction::StatusCopyFiles: + return i18n("The transaction is currently copying files..."); + case PackageKit::Transaction::StatusRefreshCache: + return i18n("Currently refreshing the repository cache..."); + case PackageKit::Transaction::StatusUnknown: + default: { + int idx = PackageKit::Transaction::staticMetaObject.indexOfEnumerator("Status"); + QMetaEnum metaenum = PackageKit::Transaction::staticMetaObject.enumerator(idx); + return i18n("Unknown status %1.", QString::fromLatin1(metaenum.valueToKey(status))); + } + } +} + +QString updateStateMessage(PackageKit::Transaction::UpdateState state) +{ + switch(state) { + case PackageKit::Transaction::UpdateStateUnknown: + return QString(); + case PackageKit::Transaction::UpdateStateStable: + return i18nc("update state", "Stable"); + case PackageKit::Transaction::UpdateStateUnstable: + return i18nc("update state", "Unstable"); + case PackageKit::Transaction::UpdateStateTesting: + return i18nc("update state", "Testing"); + } + return QString(); +} + +} diff --git a/libdiscover/backends/PackageKitBackend/PackageKitMessages.h b/libdiscover/backends/PackageKitBackend/PackageKitMessages.h new file mode 100644 index 0000000..66400f9 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitMessages.h @@ -0,0 +1,36 @@ +/*************************************************************************** + * Copyright © 2012-2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef PACKAGEKITMESSAGES_H +#define PACKAGEKITMESSAGES_H + +#include + +namespace PackageKitMessages +{ + QString errorMessage(PackageKit::Transaction::Error error); + QString restartMessage(PackageKit::Transaction::Restart restart, const QString& p); + QString restartMessage(PackageKit::Transaction::Restart restart); + QString statusMessage(PackageKit::Transaction::Status status); + QString statusDetail(PackageKit::Transaction::Status status); + QString updateStateMessage(PackageKit::Transaction::UpdateState state); +} + +#endif // PACKAGEKITMESSAGES_H diff --git a/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp new file mode 100644 index 0000000..9db54d0 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp @@ -0,0 +1,318 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * Copyright © 2015 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PackageKitNotifier.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "pk-offline-private.h" + +PackageKitNotifier::PackageKitNotifier(QObject* parent) + : BackendNotifierModule(parent) + , m_securityUpdates(0) + , m_normalUpdates(0) +{ + if (PackageKit::Daemon::global()->isRunning()) { + recheckSystemUpdateNeeded(); + } + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::networkStateChanged, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::updatesChanged, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::isRunningChanged, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::transactionListChanged, this, &PackageKitNotifier::transactionListChanged); + + //Check if there's packages after 5' + QTimer::singleShot(5 * 60 * 1000, this, &PackageKitNotifier::refreshDatabase); + + QTimer *regularCheck = new QTimer(this); + connect(regularCheck, &QTimer::timeout, this, &PackageKitNotifier::refreshDatabase); + + const QString aptconfig = QStandardPaths::findExecutable(QStringLiteral("apt-config")); + if (!aptconfig.isEmpty()) { + checkAptVariable(aptconfig, QLatin1String("Apt::Periodic::Update-Package-Lists"), [regularCheck](const QStringRef& value) { + bool ok; + const int days = value.toInt(&ok); + if (!ok || days == 0) { + regularCheck->setInterval(24 * 60 * 60 * 1000); //refresh at least once every day + regularCheck->start(); + qWarning() << "couldn't understand value for timer:" << value; + } + + //if the setting is not empty, refresh will be carried out by unattended-upgrade + //https://wiki.debian.org/UnattendedUpgrades + }); + } else { + regularCheck->setInterval(24 * 60 * 60 * 1000); //refresh at least once every day + regularCheck->start(); + } + + QTimer::singleShot(3000, this, &PackageKitNotifier::checkOfflineUpdates); + + m_recheckTimer = new QTimer(this); + m_recheckTimer->setInterval(200); + m_recheckTimer->setSingleShot(true); + connect(m_recheckTimer, &QTimer::timeout, this, &PackageKitNotifier::recheckSystemUpdate); + + QFileSystemWatcher* watcher = new QFileSystemWatcher(this); + watcher->addPath(QStringLiteral(PK_OFFLINE_ACTION_FILENAME)); + connect(watcher, &QFileSystemWatcher::fileChanged, this, &PackageKitNotifier::nowNeedsReboot); + + QTimer::singleShot(100, this, [this](){ + if (QFile::exists(QStringLiteral(PK_OFFLINE_ACTION_FILENAME))) + nowNeedsReboot(); + }); +} + +PackageKitNotifier::~PackageKitNotifier() +{ +} + +void PackageKitNotifier::checkOfflineUpdates() +{ + if (!QFile::exists(QStringLiteral(PK_OFFLINE_RESULTS_FILENAME))) { + return; + } + qDebug() << "found offline update results at " << PK_OFFLINE_RESULTS_FILENAME; + + KDesktopFile file(QStringLiteral(PK_OFFLINE_RESULTS_FILENAME)); + KConfigGroup group(&file, PK_OFFLINE_RESULTS_GROUP); + + const bool success = group.readEntry("Success", false); + const QString packagesJoined = group.readEntry("Packages"); + const auto packages = packagesJoined.splitRef(QLatin1Char(',')); + if (!success) { + const QString errorDetails = group.readEntry("ErrorDetails"); + + KNotification *notification = new KNotification(QLatin1String("offlineupdate-failed"), KNotification::Persistent | KNotification::DefaultEvent); + notification->setIconName(QStringLiteral("error")); + notification->setText(i18n("Offline Updates")); + notification->setText(i18n("Failed to update %1 packages\n%2", packages.count(), errorDetails)); + notification->setActions(QStringList{QLatin1String("Open Discover")}); + + connect(notification, &KNotification::action1Activated, this, [] () { + QProcess::startDetached(QStringLiteral("plasma-discover")); + }); + + notification->sendEvent(); + } else { + KNotification *notification = new KNotification(QLatin1String("offlineupdate-successful")); + notification->setIconName(QStringLiteral("system-software-update")); + notification->setTitle(i18n("Offline Updates")); + notification->setText(i18n("Successfully updated %1 packages", packages.count())); + notification->setActions(QStringList{QLatin1String("Open Discover")}); + + connect(notification, &KNotification::action1Activated, this, [] () { + QProcess::startDetached(QStringLiteral("plasma-discover")); + }); + + notification->sendEvent(); + } +} + +void PackageKitNotifier::recheckSystemUpdateNeeded() +{ + m_recheckTimer->start(); +} + +void PackageKitNotifier::recheckSystemUpdate() +{ + if (PackageKit::Daemon::global()->isRunning()) { + PackageKit::Daemon::getUpdates(); + } +} + +void PackageKitNotifier::setupGetUpdatesTransaction(PackageKit::Transaction* trans) +{ + qDebug() << "using..." << trans << trans->tid().path(); + + trans->setProperty("normalUpdates", 0); + trans->setProperty("securityUpdates", 0); + connect(trans, &PackageKit::Transaction::package, this, &PackageKitNotifier::package); + connect(trans, &PackageKit::Transaction::finished, this, &PackageKitNotifier::finished); +} + +void PackageKitNotifier::package(PackageKit::Transaction::Info info, const QString &/*packageID*/, const QString &/*summary*/) +{ + PackageKit::Transaction * trans = qobject_cast(sender()); + + switch (info) { + case PackageKit::Transaction::InfoBlocked: + break; //skip, we ignore blocked updates + case PackageKit::Transaction::InfoSecurity: + trans->setProperty("securityUpdates", trans->property("securityUpdates").toInt()+1); + break; + default: + trans->setProperty("normalUpdates", trans->property("normalUpdates").toInt()+1); + break; + } +} + +void PackageKitNotifier::finished(PackageKit::Transaction::Exit /*exit*/, uint) +{ + const PackageKit::Transaction * trans = qobject_cast(sender()); + + const uint normalUpdates = trans->property("normalUpdates").toInt(); + const uint securityUpdates = trans->property("securityUpdates").toInt(); + const bool changed = normalUpdates != m_normalUpdates || securityUpdates != m_securityUpdates; + + m_normalUpdates = normalUpdates; + m_securityUpdates = securityUpdates; + + if (changed) { + Q_EMIT foundUpdates(); + } +} + +uint PackageKitNotifier::securityUpdatesCount() +{ + return m_securityUpdates; +} + +uint PackageKitNotifier::updatesCount() +{ + return m_normalUpdates; +} + +void PackageKitNotifier::onDistroUpgrade(PackageKit::Transaction::DistroUpgrade type, const QString& name, const QString& description) +{ +#ifdef PKQT_1_0 + KNotification *notification = new KNotification(QLatin1String("distupgrade-notification"), KNotification::Persistent | KNotification::DefaultEvent); + notification->setIconName(QStringLiteral("system-software-update")); + notification->setActions(QStringList{QLatin1String("Upgrade")}); + notification->setTitle(i18n("Upgrade available")); + switch(type) { + case PackageKit::Transaction::DistroUpgradeUnknown: + case PackageKit::Transaction::DistroUpgradeUnstable: + notification->setText(i18n("New unstable version: %1", description)); + break; + case PackageKit::Transaction::DistroUpgradeStable: + notification->setText(i18n("New version: %1", description)); + break; + } + + connect(notification, &KNotification::action1Activated, this, [name] () { + PackageKit::Daemon::upgradeSystem(name, PackageKit::Transaction::UpgradeKindDefault); + }); + + notification->sendEvent(); +#else + Q_UNUSED(type) + Q_UNUSED(name) + Q_UNUSED(description) +#endif +} + +void PackageKitNotifier::refreshDatabase() +{ + if (!m_refresher) { + m_refresher = PackageKit::Daemon::refreshCache(false); + connect(m_refresher.data(), &PackageKit::Transaction::finished, this, [this]() { + recheckSystemUpdateNeeded(); + }); + } + +#ifdef PKQT_1_0 + if (!m_distUpgrades && (PackageKit::Daemon::roles() & PackageKit::Transaction::RoleUpgradeSystem)) { + m_distUpgrades = PackageKit::Daemon::getDistroUpgrades(); + connect(m_distUpgrades, &PackageKit::Transaction::distroUpgrade, this, &PackageKitNotifier::onDistroUpgrade); + } +#endif +} + +QProcess* PackageKitNotifier::checkAptVariable(const QString &aptconfig, const QLatin1String& varname, std::function func) +{ + QProcess* process = new QProcess; + process->start(aptconfig, {QStringLiteral("dump")}); + connect(process, static_cast(&QProcess::finished), this, [func, process, varname](int code) { + if (code != 0) + return; + + QRegularExpression rx(QLatin1Char('^') + varname + QStringLiteral(" \"(.*?)\"$")); + QTextStream stream(process); + QString line; + while (stream.readLineInto(&line)) { + const auto match = rx.match(line); + if (match.hasMatch()) { + func(match.capturedRef(1)); + return; + } + } + func({}); + }); + connect(process, static_cast(&QProcess::finished), process, &QObject::deleteLater); + return process; +} + +void PackageKitNotifier::transactionListChanged(const QStringList& tids) +{ + for (const auto &tid: tids) { + if (m_transactions.contains(tid)) + continue; + + auto t = new PackageKit::Transaction(QDBusObjectPath(tid)); + + connect(t, &PackageKit::Transaction::roleChanged, this, [this, t]() { + if (t->role() == PackageKit::Transaction::RoleGetUpdates) { + setupGetUpdatesTransaction(t); + } + }); + connect(t, &PackageKit::Transaction::requireRestart, this, &PackageKitNotifier::onRequireRestart); + connect(t, &PackageKit::Transaction::finished, this, [this, t](){ + auto restart = t->property("requireRestart"); + if (!restart.isNull()) { + auto restartEvent = PackageKit::Transaction::Restart(restart.toInt()); + if (restartEvent >= PackageKit::Transaction::RestartSession) { + nowNeedsReboot(); + } + } + m_transactions.remove(t->tid().path()); + t->deleteLater(); + }); + m_transactions.insert(tid, t); + } +} + +void PackageKitNotifier::nowNeedsReboot() +{ + if (!m_needsReboot) { + m_needsReboot = true; + Q_EMIT needsRebootChanged(); + } +} + +void PackageKitNotifier::onRequireRestart(PackageKit::Transaction::Restart type, const QString &packageID) +{ + PackageKit::Transaction* t = qobject_cast(sender()); + t->setProperty("requireRestart", qMax(t->property("requireRestart").toInt(), type)); + qDebug() << "RESTART" << type << "is required for package" << packageID; +} diff --git a/libdiscover/backends/PackageKitBackend/PackageKitNotifier.h b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.h new file mode 100644 index 0000000..9df25d4 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.h @@ -0,0 +1,71 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ +#ifndef PACKAGEKITNOTIFIER_H +#define PACKAGEKITNOTIFIER_H + +#include +#include +#include +#include +#include + +class QTimer; +class QProcess; + +class PackageKitNotifier : public BackendNotifierModule +{ +Q_OBJECT +Q_PLUGIN_METADATA(IID "org.kde.discover.BackendNotifierModule") +Q_INTERFACES(BackendNotifierModule) +public: + explicit PackageKitNotifier(QObject* parent = nullptr); + ~PackageKitNotifier() override; + + uint securityUpdatesCount() override; + uint updatesCount() override; + void recheckSystemUpdateNeeded() override; + void refreshDatabase(); + bool needsReboot() const override { return m_needsReboot; } + +private Q_SLOTS: + void package(PackageKit::Transaction::Info info, const QString &packageID, const QString &summary); + void finished(PackageKit::Transaction::Exit exit, uint); + void onRequireRestart(PackageKit::Transaction::Restart type, const QString &packageID); + void transactionListChanged(const QStringList &tids); + void onDistroUpgrade(PackageKit::Transaction::DistroUpgrade type, const QString &name, const QString &description); + +private: + void nowNeedsReboot(); + void recheckSystemUpdate(); + void checkOfflineUpdates(); + void setupGetUpdatesTransaction(PackageKit::Transaction* transaction); + QProcess* checkAptVariable(const QString &aptconfig, const QLatin1String& varname, std::function func); + + bool m_needsReboot = false; + uint m_securityUpdates; + uint m_normalUpdates; + QPointer m_refresher; + QPointer m_distUpgrades; + QTimer* m_recheckTimer; + + QHash m_transactions; +}; + +#endif diff --git a/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp b/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp new file mode 100644 index 0000000..8a03daa --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp @@ -0,0 +1,309 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PackageKitResource.h" +#include "PackageKitBackend.h" +#include "PackageKitMessages.h" +#include +#include +#include +#include +#include + +const QStringList PackageKitResource::m_objects({ QStringLiteral("qrc:/qml/DependenciesButton.qml") }); + +PackageKitResource::PackageKitResource(QString packageName, QString summary, PackageKitBackend* parent) + : AbstractResource(parent) + , m_summary(std::move(summary)) + , m_name(std::move(packageName)) +{ + setObjectName(m_name); + + connect(this, &PackageKitResource::dependenciesFound, this, [this](const QJsonObject& obj) { setDependenciesCount(obj.size()); }); +} + +QString PackageKitResource::name() const +{ + return m_name; +} + +QString PackageKitResource::packageName() const +{ + return m_name; +} + +QStringList PackageKitResource::allPackageNames() const +{ + return { m_name }; +} + +QString PackageKitResource::availablePackageId() const +{ + //First we check if it's upgradeable and use this version to display + const QString pkgid = backend()->upgradeablePackageId(this); + if (!pkgid.isEmpty()) + return pkgid; + + QMap::const_iterator it = m_packages.constFind(PackageKit::Transaction::InfoAvailable); + if (it != m_packages.constEnd()) + return it->last(); + return installedPackageId(); +} + +QString PackageKitResource::installedPackageId() const +{ + const auto installed = m_packages[PackageKit::Transaction::InfoInstalled]; + return installed.isEmpty() ? QString() : installed.last(); +} + +QString PackageKitResource::comment() +{ + return m_summary; +} + +QString PackageKitResource::longDescription() +{ + fetchDetails(); + return m_details.description(); +} + +QUrl PackageKitResource::homepage() +{ + fetchDetails(); + return QUrl(m_details.url()); +} + +QVariant PackageKitResource::icon() const +{ + return QStringLiteral("applications-other"); +} + +QString PackageKitResource::license() +{ + fetchDetails(); + return m_details.license().isEmpty() ? i18n("Unknown") : m_details.license(); +} + +QList PackageKitResource::addonsInformation() +{ + return QList(); +} + +QString PackageKitResource::availableVersion() const +{ + return PackageKit::Daemon::packageVersion(availablePackageId()); +} + +QString PackageKitResource::installedVersion() const +{ + return PackageKit::Daemon::packageVersion(installedPackageId()); +} + +int PackageKitResource::size() +{ + fetchDetails(); + return m_details.size(); +} + +QString PackageKitResource::origin() const +{ + auto pkgid = availablePackageId(); + return PackageKit::Daemon::packageData(pkgid); +} + +QString PackageKitResource::section() +{ + return QString(); +} + +AbstractResource::State PackageKitResource::state() +{ + if (backend()->isPackageNameUpgradeable(this)) + return Upgradeable; + else if(m_packages.contains(PackageKit::Transaction::InfoInstalled)) + return Installed; + else if(m_packages.contains(PackageKit::Transaction::InfoAvailable)) + return None; + else + return Broken; +} + +void PackageKitResource::addPackageId(PackageKit::Transaction::Info info, const QString &packageId, bool arch) +{ + if (arch) + m_packages[info].append(packageId); + else + m_packages[info].prepend(packageId); + emit stateChanged(); +} + +QStringList PackageKitResource::categories() +{ + return { QStringLiteral("Unknown") }; +} + +bool PackageKitResource::isTechnical() const +{ + return true; +} + +void PackageKitResource::fetchDetails() +{ + const QString pkgid = availablePackageId(); + if (!m_details.isEmpty() || pkgid.isEmpty()) + return; + m_details.insert(QStringLiteral("fetching"), true);//we add an entry so it's not re-fetched. + + backend()->fetchDetails(pkgid); +} + +void PackageKitResource::failedFetchingDetails(PackageKit::Transaction::Error, const QString& msg) +{ + qWarning() << "error fetching details" << msg; +} + +void PackageKitResource::setDependenciesCount(int deps) +{ + if (deps != m_dependenciesCount) { + m_dependenciesCount = deps; + Q_EMIT sizeChanged(); + } +} + +void PackageKitResource::setDetails(const PackageKit::Details & details) +{ + const bool ourDetails = details.packageId() == availablePackageId(); + if (!ourDetails) + return; + + if (m_details != details) { + m_details = details; + emit stateChanged(); + + if (!backend()->isFetching()) + Q_EMIT backend()->resourcesChanged(this, {"size", "homepage", "license"}); + } +} + +void PackageKitResource::fetchChangelog() +{ +} + +void PackageKitResource::fetchUpdateDetails() +{ + const auto pkgid = availablePackageId(); + if (pkgid.isEmpty()) { + connect(this, &PackageKitResource::stateChanged, this, &PackageKitResource::fetchUpdateDetails); + return; + } + PackageKit::Transaction* t = PackageKit::Daemon::getUpdateDetail(availablePackageId()); + connect(t, &PackageKit::Transaction::updateDetail, this, &PackageKitResource::updateDetail); + connect(t, &PackageKit::Transaction::errorCode, this, [this](PackageKit::Transaction::Error err, const QString & error) { qWarning() << "error fetching updates:" << err << error; emit changelogFetched(QString()); }); +} + +static void addIfNotEmpty(const QString& title, const QString& content, QString& where) +{ + if (!content.isEmpty()) + where += QStringLiteral("

") + title + QStringLiteral(" ") + QString(content).replace(QStringLiteral("\n"), QStringLiteral("
")) + QStringLiteral("

"); +} + +QString PackageKitResource::joinPackages(const QStringList& pkgids, const QString &_sep, const QString &shadowPackage) +{ + QStringList ret; + foreach(const QString& pkgid, pkgids) { + const auto pkgname = PackageKit::Daemon::packageName(pkgid); + if (pkgname == shadowPackage) + ret += PackageKit::Daemon::packageVersion(pkgid); + else + ret += i18nc("package-name (version)", "%1 (%2)", pkgname, PackageKit::Daemon::packageVersion(pkgid)); + } + const QString sep = _sep.isEmpty() ? i18nc("comma separating package names", ", ") : _sep; + return ret.join(sep); +} + +static QStringList urlToLinks(const QStringList& urls) +{ + QStringList ret; + foreach(const QString& in, urls) + ret += QStringLiteral("%1").arg(in); + return ret; +} + +void PackageKitResource::updateDetail(const QString& packageID, const QStringList& updates, const QStringList& obsoletes, const QStringList& vendorUrls, + const QStringList& /*bugzillaUrls*/, const QStringList& /*cveUrls*/, PackageKit::Transaction::Restart restart, const QString& updateText, + const QString& /*changelog*/, PackageKit::Transaction::UpdateState state, const QDateTime& /*issued*/, const QDateTime& /*updated*/) +{ + const auto name = PackageKit::Daemon::packageName(packageID); + + QString info; + addIfNotEmpty(i18n("Current Version:"), joinPackages(updates, {}, name), info); + addIfNotEmpty(i18n("Obsoletes:"), joinPackages(obsoletes, {}, name), info); + addIfNotEmpty(i18n("New Version:"), updateText, info); + addIfNotEmpty(i18n("Update State:"), PackageKitMessages::updateStateMessage(state), info); + addIfNotEmpty(i18n("Restart:"), PackageKitMessages::restartMessage(restart), info); + + if (!vendorUrls.isEmpty()) + addIfNotEmpty(i18n("Vendor:"), urlToLinks(vendorUrls).join(QStringLiteral(", ")), info); + + emit changelogFetched(changelog() + info); +} + +PackageKitBackend* PackageKitResource::backend() const +{ + return qobject_cast(parent()); +} + +QString PackageKitResource::sizeDescription() +{ + if (m_dependenciesCount < 0) { + fetchDetails(); + fetchDependencies(); + } + + if (m_dependenciesCount <= 0) + return AbstractResource::sizeDescription(); + else + return i18np("%2 (plus %1 dependency)", "%2 (plus %1 dependencies)", m_dependenciesCount, AbstractResource::sizeDescription()); +} + +QString PackageKitResource::sourceIcon() const +{ + return QStringLiteral("package-available"); +} + +void PackageKitResource::fetchDependencies() +{ + const auto id = isInstalled() ? installedPackageId() : availablePackageId(); + if (id.isEmpty()) + return; + m_dependenciesCount = 0; + + QSharedPointer packageDependencies(new QJsonObject); + + auto trans = PackageKit::Daemon::dependsOn(id); + connect(trans, &PackageKit::Transaction::errorCode, this, [this](PackageKit::Transaction::Error, const QString& message) { qWarning() << "Transaction error: " << message << sender(); }); + connect(trans, &PackageKit::Transaction::package, this, [packageDependencies](PackageKit::Transaction::Info /*info*/, const QString &packageID, const QString &summary) { + (*packageDependencies)[PackageKit::Daemon::packageName(packageID)] = summary ; + }); + connect(trans, &PackageKit::Transaction::finished, this, [this, packageDependencies](PackageKit::Transaction::Exit /*status*/) { + Q_EMIT dependenciesFound(*packageDependencies); + }); +} diff --git a/libdiscover/backends/PackageKitBackend/PackageKitResource.h b/libdiscover/backends/PackageKitBackend/PackageKitResource.h new file mode 100644 index 0000000..5c9781c --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitResource.h @@ -0,0 +1,116 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef PACKAGEKITRESOURCE_H +#define PACKAGEKITRESOURCE_H + +#include +#include +#include + +class PackageKitBackend; + +class PackageKitResource : public AbstractResource +{ + Q_OBJECT + Q_PROPERTY(QStringList objects MEMBER m_objects CONSTANT) + public: + explicit PackageKitResource(QString packageName, QString summary, PackageKitBackend* parent); + QString packageName() const override; + QString name() const override; + QString comment() override; + QString longDescription() override; + QUrl homepage() override; + QVariant icon() const override; + QStringList categories() override; + QString license() override; + QString origin() const override; + QString section() override; + bool isTechnical() const override; + int size() override; + void fetchChangelog() override; + void fetchUpdateDetails() override; + + QList addonsInformation() override; + State state() override; + + QString installedVersion() const override; + QString availableVersion() const override; + virtual QStringList allPackageNames() const; + QString installedPackageId() const; + QString availablePackageId() const; + + void clearPackageIds() { m_packages.clear(); } + + QMap packages() const { return m_packages; } + + PackageKitBackend* backend() const; + + static QString joinPackages(const QStringList& pkgids, const QString &_sep, const QString &shadowPackageName); + + void invokeApplication() const override {} + bool canExecute() const override { return false; } + + QString sizeDescription() override; + void setDependenciesCount(int count); + + QString sourceIcon() const override; + + QDate releaseDate() const override { return {}; } + + virtual QString changelog() const { return {}; } + + Q_SIGNALS: + void dependenciesFound(const QJsonObject& dependencies); + + public Q_SLOTS: + void addPackageId(PackageKit::Transaction::Info info, const QString &packageId, bool arch); + void setDetails(const PackageKit::Details& details); + + void updateDetail(const QString &packageID, + const QStringList &updates, + const QStringList &obsoletes, + const QStringList &vendorUrls, + const QStringList &bugzillaUrls, + const QStringList &cveUrls, + PackageKit::Transaction::Restart restart, + const QString &updateText, + const QString &changelog, + PackageKit::Transaction::UpdateState state, + const QDateTime &issued, + const QDateTime &updated); + + private Q_SLOTS: + void failedFetchingDetails(PackageKit::Transaction::Error, const QString& msg); + + private: + void fetchDependencies(); + /** fetches details individually, it's better if done in batch, like for updates */ + void fetchDetails(); + + QMap m_packages; + const QString m_summary; + const QString m_name; + PackageKit::Details m_details; + int m_dependenciesCount = -1; + static const QStringList m_objects; +}; + +#endif // PACKAGEKITRESOURCE_H diff --git a/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp new file mode 100644 index 0000000..87069b0 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp @@ -0,0 +1,175 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PackageKitSourcesBackend.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "PackageKitBackend.h" +#include "config-paths.h" + +class PKSourcesModel : public QStandardItemModel +{ +public: + PKSourcesModel(PackageKitSourcesBackend* backend) + : QStandardItemModel(backend) + , m_backend(backend) {} + + bool setData(const QModelIndex & index, const QVariant & value, int role) override { + auto item = itemFromIndex(index); + if (!item) + return false; + + switch(role) { + case Qt::CheckStateRole: { + auto transaction = PackageKit::Daemon::global()->repoEnable(item->data(AbstractSourcesBackend::IdRole).toString(), value.toInt() == Qt::Checked); + connect(transaction, &PackageKit::Transaction::errorCode, m_backend, &PackageKitSourcesBackend::transactionError); + return true; + } + } + item->setData(value, role); + return true; + } + +private: + PackageKitSourcesBackend* m_backend; +}; + +static QAction* createActionForService(const QString &servicePath, QObject* parent) +{ + QAction* action = new QAction(parent); + KDesktopFile parser(servicePath); + action->setIcon(QIcon::fromTheme(parser.readIcon())); + action->setText(parser.readName()); + action->setToolTip(parser.readComment()); + QObject::connect(action, &QAction::triggered, action, [servicePath](){ + bool b = QProcess::startDetached(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/discover/runservice"), {servicePath}); + if (!b) + qWarning() << "Could not start" << servicePath; + }); + return action; +} + +PackageKitSourcesBackend::PackageKitSourcesBackend(AbstractResourcesBackend* parent) + : AbstractSourcesBackend(parent) + , m_sources(new PKSourcesModel(this)) +{ + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::repoListChanged, this, &PackageKitSourcesBackend::resetSources); + resetSources(); + + // Kubuntu-based + auto addNativeSourcesManager = [this](const QString &file){ + auto service = PackageKitBackend::locateService(file); + if (!service.isEmpty()) + m_actions += createActionForService(service, this); + }; + + //New Ubuntu + addNativeSourcesManager(QStringLiteral("software-properties-qt.desktop")); + + //Old Ubuntu + addNativeSourcesManager(QStringLiteral("software-properties-kde.desktop")); + + //OpenSuse + addNativeSourcesManager(QStringLiteral("YaST2/sw_source.desktop")); +} + +QString PackageKitSourcesBackend::idDescription() +{ + return i18n("Repository URL:"); +} + +QStandardItem* PackageKitSourcesBackend::findItemForId(const QString &id) const +{ + for(int i=0, c=m_sources->rowCount(); iitem(i); + if (it->data(AbstractSourcesBackend::IdRole).toString() == id) + return it; + } + return nullptr; +} + +void PackageKitSourcesBackend::addRepositoryDetails(const QString &id, const QString &description, bool enabled) +{ + bool add = false; + QStandardItem* item = findItemForId(id); + + if (!item) { + item = new QStandardItem(description); + if (PackageKit::Daemon::backendName() == QLatin1String("aptcc")) { + QRegularExpression exp(QStringLiteral("^/etc/apt/sources.list.d/(.+?).list:.*")); + + auto matchIt = exp.globalMatch(id); + if (matchIt.hasNext()) { + auto match = matchIt.next(); + item->setData(match.captured(1), Qt::ToolTipRole); + } + } + add = true; + } + item->setData(id, IdRole); + item->setCheckState(enabled ? Qt::Checked : Qt::Unchecked); + + if (add) + m_sources->appendRow(item); +} + +QAbstractItemModel * PackageKitSourcesBackend::sources() +{ + return m_sources; +} + +bool PackageKitSourcesBackend::addSource(const QString& /*id*/) +{ + return false; +} + +bool PackageKitSourcesBackend::removeSource(const QString& id) +{ + auto transaction = PackageKit::Daemon::global()->repoRemove(id, false); + connect(transaction, &PackageKit::Transaction::errorCode, this, &PackageKitSourcesBackend::transactionError); + return false; +} + +QList PackageKitSourcesBackend::actions() const +{ + return m_actions; +} + +void PackageKitSourcesBackend::resetSources() +{ + m_sources->clear(); + auto transaction = PackageKit::Daemon::global()->getRepoList(); + connect(transaction, &PackageKit::Transaction::repoDetail, this, &PackageKitSourcesBackend::addRepositoryDetails); + connect(transaction, &PackageKit::Transaction::errorCode, this, &PackageKitSourcesBackend::transactionError); +} + +void PackageKitSourcesBackend::transactionError(PackageKit::Transaction::Error error, const QString& message) +{ + Q_EMIT passiveMessage(message); + qWarning() << "Transaction error: " << error << message << sender(); +} diff --git a/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.h new file mode 100644 index 0000000..abe1d89 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef PACKAGEKITSOURCESBACKEND_H +#define PACKAGEKITSOURCESBACKEND_H + +#include +#include + +class QStandardItem; +class PKSourcesModel; + +class PackageKitSourcesBackend : public AbstractSourcesBackend +{ + Q_OBJECT + public: + PackageKitSourcesBackend(AbstractResourcesBackend* parent); + + QString idDescription() override; + + bool supportsAdding() const override { return false; } + bool addSource(const QString& id) override; + bool removeSource(const QString& id) override; + + QAbstractItemModel* sources() override; + QList actions() const override; + + void transactionError(PackageKit::Transaction::Error, const QString& message); + + private: + void resetSources(); + void addRepositoryDetails(const QString &id, const QString &description, bool enabled); + QStandardItem* findItemForId(const QString &id) const; + + PKSourcesModel* m_sources; + QList m_actions; +}; + +#endif // PACKAGEKITSOURCESBACKEND_H diff --git a/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp new file mode 100644 index 0000000..d452032 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp @@ -0,0 +1,413 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ +#include "PackageKitUpdater.h" +#include "PackageKitMessages.h" + +#include +#ifdef PKQT_1_0 +#include +#endif +#include +#include +#include + +#include + +int percentageWithStatus(PackageKit::Transaction::Status status, uint percentage) +{ + const auto was = percentage; + if (status != PackageKit::Transaction::StatusUnknown) { + static const QMap statuses = { + { PackageKit::Transaction::Status::StatusDownload, 0 }, + { PackageKit::Transaction::Status::StatusInstall, 1}, + { PackageKit::Transaction::Status::StatusRemove, 1}, + { PackageKit::Transaction::Status::StatusUpdate, 1} + }; + const auto idx = statuses.value(status, -1); + if (idx < 0) { + qDebug() << "Status not present" << status << "among" << statuses .keys() << percentage; + return -1; + } + percentage = (idx * 100 + percentage) / 2 /*the maximum in statuses*/; + } + qDebug() << "reporting progress with status:" << status << percentage << was; + return percentage; +} + +PackageKitUpdater::PackageKitUpdater(PackageKitBackend * parent) + : AbstractBackendUpdater(parent), + m_transaction(nullptr), + m_backend(parent), + m_isCancelable(false), + m_isProgressing(false), + m_percentage(0), + m_lastUpdate() +{ + fetchLastUpdateTime(); +} + +PackageKitUpdater::~PackageKitUpdater() +{ +} + +void PackageKitUpdater::prepare() +{ + Q_ASSERT(!m_transaction); + m_toUpgrade = m_backend->upgradeablePackages(); + m_allUpgradeable = m_toUpgrade; +} + +void PackageKitUpdater::setupTransaction(PackageKit::Transaction::TransactionFlags flags) +{ + m_packagesModified.clear(); + auto pkgs = involvedPackages(m_toUpgrade).toList(); + pkgs.sort(); + m_transaction = PackageKit::Daemon::updatePackages(pkgs, flags); + m_isCancelable = m_transaction->allowCancel(); + + connect(m_transaction.data(), &PackageKit::Transaction::finished, this, &PackageKitUpdater::finished); + connect(m_transaction.data(), &PackageKit::Transaction::package, this, &PackageKitUpdater::packageResolved); + connect(m_transaction.data(), &PackageKit::Transaction::errorCode, this, &PackageKitUpdater::errorFound); + connect(m_transaction.data(), &PackageKit::Transaction::mediaChangeRequired, this, &PackageKitUpdater::mediaChange); + connect(m_transaction.data(), &PackageKit::Transaction::requireRestart, this, &PackageKitUpdater::requireRestart); + connect(m_transaction.data(), &PackageKit::Transaction::eulaRequired, this, &PackageKitUpdater::eulaRequired); + connect(m_transaction.data(), &PackageKit::Transaction::repoSignatureRequired, this, &PackageKitUpdater::repoSignatureRequired); + connect(m_transaction.data(), &PackageKit::Transaction::allowCancelChanged, this, &PackageKitUpdater::cancellableChanged); + connect(m_transaction.data(), &PackageKit::Transaction::percentageChanged, this, &PackageKitUpdater::percentageChanged); + connect(m_transaction.data(), &PackageKit::Transaction::itemProgress, this, &PackageKitUpdater::itemProgress); + connect(m_transaction.data(), &PackageKit::Transaction::speedChanged, this, [this] { + Q_EMIT downloadSpeedChanged(downloadSpeed()); + }); +} + +QSet PackageKitUpdater::packagesForPackageId(const QSet& pkgids) const +{ + QSet packages; + packages.reserve(pkgids.size()); + foreach(const QString& pkgid, pkgids) { + packages += PackageKit::Daemon::packageName(pkgid); + } + + QSet ret; + foreach (AbstractResource * res, m_allUpgradeable) { + PackageKitResource* pres = qobject_cast(res); + if (packages.contains(pres->allPackageNames().toSet())) { + ret.insert(res); + } + } + + return ret; +} + +QSet PackageKitUpdater::involvedPackages(const QSet& packages) const +{ + QSet packageIds; + packageIds.reserve(packages.size()); + foreach (AbstractResource * res, packages) { + PackageKitResource * app = qobject_cast(res); + QString pkgid = m_backend->upgradeablePackageId(app); + + if (pkgid.isEmpty()) { + qWarning() << "no upgradeablePackageId for" << app; + continue; + } + + packageIds.insert(pkgid); + } + return packageIds; +} + +void PackageKitUpdater::processProceedFunction() +{ + auto t = m_proceedFunctions.takeFirst()(); + connect(t, &PackageKit::Transaction::finished, this, [this](PackageKit::Transaction::Exit status) { + if (status != PackageKit::Transaction::Exit::ExitSuccess) { + qWarning() << "transaction failed" << sender() << status; + cancel(); + return; + } + + if (!m_proceedFunctions.isEmpty()) { + processProceedFunction(); + } else { + start(); + } + }); +} + +void PackageKitUpdater::proceed() +{ + if (!m_proceedFunctions.isEmpty()) + processProceedFunction(); +#ifdef PKQT_1_0 + else if (qEnvironmentVariableIsSet("PK_OFFLINE_UPDATE")) + setupTransaction(PackageKit::Transaction::TransactionFlagOnlyTrusted | PackageKit::Transaction::TransactionFlagOnlyDownload); +#endif + else + setupTransaction(PackageKit::Transaction::TransactionFlagOnlyTrusted); +} + +void PackageKitUpdater::start() +{ + Q_ASSERT(!isProgressing()); + + setupTransaction(PackageKit::Transaction::TransactionFlagSimulate); + setProgressing(true); +} + +void PackageKitUpdater::finished(PackageKit::Transaction::Exit exit, uint /*time*/) +{ +// qDebug() << "update finished!" << exit << time; + if (!m_proceedFunctions.isEmpty()) + return; + const bool cancel = exit == PackageKit::Transaction::ExitCancelled; + const bool simulate = m_transaction->transactionFlags() & PackageKit::Transaction::TransactionFlagSimulate; + + disconnect(m_transaction, nullptr, this, nullptr); + m_transaction = nullptr; + + if (!cancel && simulate) { + const auto toremove = m_packagesModified.value(PackageKit::Transaction::InfoRemoving); + if (!toremove.isEmpty()) { + const auto toinstall = QStringList() << m_packagesModified.value(PackageKit::Transaction::InfoInstalling) << m_packagesModified.value(PackageKit::Transaction::InfoUpdating); + Q_EMIT proceedRequest(i18n("Packages to remove"), i18n("The following packages will be removed by the update:\n
  • %1
\nin order to install:\n
  • %2
", + PackageKitResource::joinPackages(toremove, QStringLiteral("
  • "), {}), + PackageKitResource::joinPackages(toinstall, QStringLiteral("
  • "), {}) + )); + } else { + proceed(); + } + return; + } + + setProgressing(false); + m_backend->fetchUpdates(); + fetchLastUpdateTime(); + + if (qEnvironmentVariableIsSet("PK_OFFLINE_UPDATE")) { +#ifdef PKQT_1_0 + PackageKit::Daemon::global()->offline()->trigger(PackageKit::Offline::ActionReboot); + Q_EMIT passiveMessage(i18n("Please restart the computer to finish the installation")); +#else + qWarning() << "PK_OFFLINE_UPDATE is set but discover was built against an old version of PackageKitQt that didn't support offline updates"; +#endif + } +} + +void PackageKitUpdater::cancellableChanged() +{ + if (m_isCancelable != m_transaction->allowCancel()) { + m_isCancelable = m_transaction->allowCancel(); + emit cancelableChanged(m_isCancelable); + } +} + +void PackageKitUpdater::percentageChanged() +{ + const auto actualPercentage = percentageWithStatus(m_transaction->status(), m_transaction->percentage()); + if (actualPercentage >= 0 && m_percentage != actualPercentage) { + m_percentage = actualPercentage; + emit progressChanged(m_percentage); + } +} + +bool PackageKitUpdater::hasUpdates() const +{ + return m_backend->updatesCount() > 0; +} + +qreal PackageKitUpdater::progress() const +{ + return m_percentage; +} + +void PackageKitUpdater::removeResources(const QList& apps) +{ + QSet pkgs = involvedPackages(apps.toSet()); + m_toUpgrade.subtract(packagesForPackageId(pkgs)); +} + +void PackageKitUpdater::addResources(const QList& apps) +{ + QSet pkgs = involvedPackages(apps.toSet()); + m_toUpgrade.unite(packagesForPackageId(pkgs)); +} + +QList PackageKitUpdater::toUpdate() const +{ + return m_toUpgrade.toList(); +} + +bool PackageKitUpdater::isMarked(AbstractResource* res) const +{ + return m_toUpgrade.contains(res); +} + +QDateTime PackageKitUpdater::lastUpdate() const +{ + return m_lastUpdate; +} + +bool PackageKitUpdater::isCancelable() const +{ + return m_isCancelable; +} + +bool PackageKitUpdater::isProgressing() const +{ + return m_isProgressing; +} + +void PackageKitUpdater::cancel() +{ + if (m_transaction) + m_transaction->cancel(); + else + setProgressing(false); +} + +void PackageKitUpdater::errorFound(PackageKit::Transaction::Error err, const QString& error) +{ + if (err == PackageKit::Transaction::ErrorNoLicenseAgreement) + return; + Q_EMIT passiveMessage(QStringLiteral("%1\n%2").arg(PackageKitMessages::errorMessage(err), error)); + qWarning() << "Error happened" << err << error; +} + +void PackageKitUpdater::mediaChange(PackageKit::Transaction::MediaType media, const QString& type, const QString& text) +{ + Q_UNUSED(media) + Q_EMIT passiveMessage(i18n("Media Change of type '%1' is requested.\n%2", type, text)); +} + +void PackageKitUpdater::requireRestart(PackageKit::Transaction::Restart restart, const QString& pkgid) +{ + Q_EMIT passiveMessage(PackageKitMessages::restartMessage(restart, pkgid)); +} + +void PackageKitUpdater::eulaRequired(const QString& eulaID, const QString& packageID, const QString& vendor, const QString& licenseAgreement) +{ + m_proceedFunctions << [eulaID](){ + return PackageKit::Daemon::acceptEula(eulaID); + }; + Q_EMIT proceedRequest(i18n("Accept EULA"), i18n("The package %1 and its vendor %2 require that you accept their license:\n %3", + PackageKit::Daemon::packageName(packageID), vendor, licenseAgreement)); +} + +void PackageKitUpdater::setProgressing(bool progressing) +{ + if (m_isProgressing != progressing) { + m_isProgressing = progressing; + emit progressingChanged(m_isProgressing); + } +} + +void PackageKitUpdater::fetchLastUpdateTime() +{ + QDBusPendingReply transaction = PackageKit::Daemon::global()->getTimeSinceAction(PackageKit::Transaction::RoleGetUpdates); + QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(transaction, this); + connect(watcher, &QDBusPendingCallWatcher::finished, this, &PackageKitUpdater::lastUpdateTimeReceived); +} + +void PackageKitUpdater::lastUpdateTimeReceived(QDBusPendingCallWatcher* w) +{ + QDBusPendingReply reply = w->reply(); + if (reply.isError()) { + qWarning() << "Error when fetching the last update time" << reply.error(); + } else { + m_lastUpdate = QDateTime::currentDateTime().addSecs(-int(reply.value())); + } + w->deleteLater(); +} + +void PackageKitUpdater::itemProgress(const QString& itemID, PackageKit::Transaction::Status status, uint percentage) +{ + auto res = packagesForPackageId({itemID}); + + const auto actualPercentage = percentageWithStatus(status, percentage); + if (actualPercentage<0) + return; + + foreach(auto r, res) { + Q_EMIT resourceProgressed(r, actualPercentage); + } +} + +void PackageKitUpdater::fetchChangelog() const +{ + QStringList pkgids; + foreach(AbstractResource* res, m_allUpgradeable) { + pkgids += static_cast(res)->availablePackageId(); + } + Q_ASSERT(!pkgids.isEmpty()); + + PackageKit::Transaction* t = PackageKit::Daemon::getUpdatesDetails(pkgids); + connect(t, &PackageKit::Transaction::updateDetail, this, &PackageKitUpdater::updateDetail); + connect(t, &PackageKit::Transaction::errorCode, this, &PackageKitUpdater::errorFound); +} + +void PackageKitUpdater::updateDetail(const QString& packageID, const QStringList& updates, const QStringList& obsoletes, const QStringList& vendorUrls, + const QStringList& bugzillaUrls, const QStringList& cveUrls, PackageKit::Transaction::Restart restart, const QString& updateText, + const QString& changelog, PackageKit::Transaction::UpdateState state, const QDateTime& issued, const QDateTime& updated) +{ + auto res = packagesForPackageId({packageID}); + foreach(auto r, res) { + static_cast(r)->updateDetail(packageID, updates, obsoletes, vendorUrls, bugzillaUrls, + cveUrls, restart, updateText, changelog, state, issued, updated); + } +} + +void PackageKitUpdater::packageResolved(PackageKit::Transaction::Info info, const QString& packageId) +{ + m_packagesModified[info] << packageId; +} + +void PackageKitUpdater::repoSignatureRequired(const QString& packageID, const QString& repoName, const QString& keyUrl, + const QString& keyUserid, const QString& keyId, const QString& keyFingerprint, + const QString& keyTimestamp, PackageKit::Transaction::SigType type) +{ + Q_EMIT proceedRequest(i18n("Missing signature for %1 in %2", packageID, repoName), + i18n("Do you trust the following key?\n\nUrl: %1\nUser: %2\nKey: %3\nFingerprint: %4\nTimestamp: %4\n", + keyUrl, keyUserid, keyFingerprint, keyTimestamp)); + + m_proceedFunctions << [type, keyId, packageID](){ + return PackageKit::Daemon::installSignature(type, keyId, packageID); + }; +} + +double PackageKitUpdater::updateSize() const +{ + double ret = 0.; + QSet donePkgs; + for (AbstractResource * res : m_toUpgrade) { + PackageKitResource * app = qobject_cast(res); + QString pkgid = m_backend->upgradeablePackageId(app); + if (!donePkgs.contains(pkgid)) { + donePkgs.insert(pkgid); + ret += app->size(); + } + } + return ret; +} + +quint64 PackageKitUpdater::downloadSpeed() const +{ + return m_transaction ? m_transaction->speed() : 0; +} diff --git a/libdiscover/backends/PackageKitBackend/PackageKitUpdater.h b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.h new file mode 100644 index 0000000..179a3d7 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.h @@ -0,0 +1,102 @@ +/*************************************************************************** + * Copyright © 2013 Lukas Appelhans * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ +#ifndef PACKAGEKITUPDATER_H +#define PACKAGEKITUPDATER_H + +#include +#include "PackageKitBackend.h" +#include + +class PackageKitUpdater : public AbstractBackendUpdater +{ + Q_OBJECT + public: + explicit PackageKitUpdater(PackageKitBackend * parent = nullptr); + ~PackageKitUpdater() override; + + void prepare() override; + + bool hasUpdates() const override; + qreal progress() const override; + + void setProgressing(bool progressing); + + void removeResources(const QList& apps) override; + void addResources(const QList& apps) override; + QList toUpdate() const override; + bool isMarked(AbstractResource* res) const override; + QDateTime lastUpdate() const override; + bool isCancelable() const override; + bool isProgressing() const override; + void fetchChangelog() const override; + double updateSize() const override; + quint64 downloadSpeed() const override; + + void proceed() override; + + public Q_SLOTS: + ///must be implemented if ever isCancelable is true + void cancel() override; + void start() override; + + private Q_SLOTS: + void errorFound(PackageKit::Transaction::Error err, const QString& error); + void mediaChange(PackageKit::Transaction::MediaType media, const QString& type, const QString& text); + void requireRestart(PackageKit::Transaction::Restart restart, const QString& p); + void eulaRequired(const QString &eulaID, const QString &packageID, const QString &vendor, const QString &licenseAgreement); + void finished(PackageKit::Transaction::Exit exit, uint); + void cancellableChanged(); + void percentageChanged(); + void updateDetail(const QString& packageID, const QStringList& updates, const QStringList& obsoletes, const QStringList& vendorUrls, + const QStringList& bugzillaUrls, const QStringList& cveUrls, PackageKit::Transaction::Restart restart, const QString& updateText, + const QString& changelog, PackageKit::Transaction::UpdateState state, const QDateTime& issued, const QDateTime& updated); + void packageResolved(PackageKit::Transaction::Info info, const QString& packageId); + void repoSignatureRequired(const QString &packageID, + const QString &repoName, + const QString &keyUrl, + const QString &keyUserid, + const QString &keyId, + const QString &keyFingerprint, + const QString &keyTimestamp, + PackageKit::Transaction::SigType type); + + private: + void processProceedFunction(); + void itemProgress(const QString &itemID, PackageKit::Transaction::Status status, uint percentage); + void fetchLastUpdateTime(); + void lastUpdateTimeReceived(QDBusPendingCallWatcher* w); + void setupTransaction(PackageKit::Transaction::TransactionFlags flags); + QSet involvedPackages(const QSet& packages) const; + QSet packagesForPackageId(const QSet& packages) const; + + QPointer m_transaction; + PackageKitBackend * const m_backend; + QSet m_toUpgrade; + QSet m_allUpgradeable; + bool m_isCancelable; + bool m_isProgressing; + int m_percentage; + QDateTime m_lastUpdate; + QMap m_packagesModified; + QVector> m_proceedFunctions; +}; + + +#endif diff --git a/libdiscover/backends/PackageKitBackend/TransactionSet.cpp b/libdiscover/backends/PackageKitBackend/TransactionSet.cpp new file mode 100644 index 0000000..8f2f3f2 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/TransactionSet.cpp @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "TransactionSet.h" + +#include + +TransactionSet::TransactionSet(const QVector &transactions) + : m_transactions(transactions) +{ + foreach(PackageKit::Transaction* t, transactions) { + connect(t, &PackageKit::Transaction::finished, this, &TransactionSet::transactionFinished); + } +} + +void TransactionSet::transactionFinished(PackageKit::Transaction::Exit exit) +{ + PackageKit::Transaction* t = qobject_cast(sender()); + if (exit != PackageKit::Transaction::ExitSuccess) { + qWarning() << "failed" << exit << t; + } + + m_transactions.removeAll(t); + if (m_transactions.isEmpty()) { + Q_EMIT allFinished(); + deleteLater(); + } +} diff --git a/libdiscover/backends/PackageKitBackend/TransactionSet.h b/libdiscover/backends/PackageKitBackend/TransactionSet.h new file mode 100644 index 0000000..8067b93 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/TransactionSet.h @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef TRANSACTIONSET_H +#define TRANSACTIONSET_H + +#include +#include +#include + +class TransactionSet : public QObject +{ + Q_OBJECT + public: + TransactionSet(const QVector &transactions); + + void transactionFinished(PackageKit::Transaction::Exit exit); + + Q_SIGNALS: + void allFinished(); + + private: + QVector m_transactions; + +}; + +#endif diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/categoryimages/CMakeLists.txt new file mode 100644 index 0000000..aa72a70 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/categoryimages/CMakeLists.txt @@ -0,0 +1,18 @@ +install( FILES + educationcrop.jpg + fontcrop.jpg + gamecrop.jpg + graphiccrop.jpg +# multimedia2.jpg + multimediacrop.jpg +# music.jpe + officecrop.jpg + sciencecrop.jpg + accesscropped.jpg + toolcrop.jpg + accesscropped.jpg + accessoriescrop.jpg + applicationcrop.jpg + internetcrop.jpg + settingscrop.jpg + DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/discover/pkcategories) diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/accesscropped.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/accesscropped.jpg new file mode 100644 index 0000000..dacf9eb Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/accesscropped.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/accessoriescrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/accessoriescrop.jpg new file mode 100644 index 0000000..2654e54 Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/accessoriescrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/applicationcrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/applicationcrop.jpg new file mode 100644 index 0000000..ea02679 Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/applicationcrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/educationcrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/educationcrop.jpg new file mode 100644 index 0000000..fa46db6 Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/educationcrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/fontcrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/fontcrop.jpg new file mode 100644 index 0000000..913e227 Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/fontcrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/gamecrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/gamecrop.jpg new file mode 100644 index 0000000..80bc140 Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/gamecrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/graphiccrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/graphiccrop.jpg new file mode 100644 index 0000000..ba57b4a Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/graphiccrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/internetcrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/internetcrop.jpg new file mode 100644 index 0000000..ba412dd Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/internetcrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/multimediacrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/multimediacrop.jpg new file mode 100644 index 0000000..51b8a0f Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/multimediacrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/musiccrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/musiccrop.jpg new file mode 100644 index 0000000..0b61f5e Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/musiccrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/officecrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/officecrop.jpg new file mode 100644 index 0000000..1aaa75e Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/officecrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/sciencecrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/sciencecrop.jpg new file mode 100644 index 0000000..ddb131f Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/sciencecrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/settingscrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/settingscrop.jpg new file mode 100644 index 0000000..06f1a95 Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/settingscrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/categoryimages/toolcrop.jpg b/libdiscover/backends/PackageKitBackend/categoryimages/toolcrop.jpg new file mode 100644 index 0000000..b29d4df Binary files /dev/null and b/libdiscover/backends/PackageKitBackend/categoryimages/toolcrop.jpg differ diff --git a/libdiscover/backends/PackageKitBackend/config-paths.h.cmake b/libdiscover/backends/PackageKitBackend/config-paths.h.cmake new file mode 100644 index 0000000..92f4926 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/config-paths.h.cmake @@ -0,0 +1 @@ +#define CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "@CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@" diff --git a/libdiscover/backends/PackageKitBackend/org.kde.discover.packagekit.appdata.xml b/libdiscover/backends/PackageKitBackend/org.kde.discover.packagekit.appdata.xml new file mode 100644 index 0000000..a05a91c --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/org.kde.discover.packagekit.appdata.xml @@ -0,0 +1,97 @@ + + + org.kde.discover.packagekit + PackageKit backend + سَند عدّة الحزم + Dorsal del PackageKit + Dorsal del PackageKit + Podpůrná vrstva PackageKit + PackageKit-motor + PackageKit-Backend + PackageKit backend + Motor PackageKit + PackageKit bizkarraldekoa + PackageKit-taustaosa + Moteur PackageKit + Infraestrutura de PackageKit + Backend PackageKit + Motore PackageKit + PackageKit 백엔드 + PackageKit-motor + PackageKit-backend + PackageKit-motor + Silnik PackageKit + Infra-estrutura do PackageKit + Infraestrutura PackageKit + Модуль поддержки PackageKit + Backend PackageKit + Zaledje PackageKit + Gränssnitt för PackageKit + Модуль PackageKit + xxPackageKit backendxx + PackageKit 后端 + PackageKit 後端 + Integrates distribution applications into Discover + يُكامل تطبيقات ”عُدّة الحزم“ في «استكشف» + Integra aplicacions de distribució al Discover + Integra aplicacions de distribució al Discover + Integriert Distributions-Anwendungen in Discover + Integrates distribution applications into Discover + Integra aplicaciones de la distribución en Discover + Banaketaren aplikazioak Dicover-ren integratzen ditu + Yhdistää jakelun sovellukset Discoveriin + Intègre les applications de distribution au sein de Discover + Integra aplicativos da distribución con Discover + Aplikasi distribusi terintegrasi ke dalam Discover + Integra le applicazioni della distribuzione in Discover + 배포판 프로그램을 발견에 통합 + Integrerer distribusjonsprogrammer i Discover + Integreert distributie-toepassingen in Discover + Integrerer distribusjonsprogram i Discover + Integruje aplikacje dystrybucji w Odkrywcy + Integra as aplicações da distribuição no Discover + Integra aplicativos da distribuição no Discover + Добавление поддержки приложений из дистрибутива ОС в центр программ Discover + Integruje distribučné aplikácie do Discovera + V Discover vgradi programe distribucije + Integrerar distributionsprogram i Discover + Інтегрує програми зі сховищ дистрибутива до Discover + xxIntegrates distribution applications into Discoverxx + 将发行版应用程序集成到发现者中 + 將發行版的應用程式整合進 Discover 商店 + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol González + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + xxAleix Pol Gonzalezxx + Aleix Pol Gonzalez + Aleix Pol Gonzalez + system-software-install + diff --git a/libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml b/libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml new file mode 100644 index 0000000..4ff16a3 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml @@ -0,0 +1,587 @@ + + + + + Applications + applications-internet + pkcategories/applicationcrop.jpg + + + Application + + + + Accessories + applications-utilities + pkcategories/accessoriescrop.jpg + + + Utility + Accessibility + + + + + + Accessibility + preferences-desktop-accessibility + pkcategories/accesscropped.jpg + + + Accessibility + Settings + + + + + + Developer Tools + pkcategories/toolcrop.jpg + applications-development + + + Development + + + + + Debugging + tools-report-bug + + + Debugger + + + + + + Graphic Interface Design + + + GUIDesigner + + + + + + IDEs + + + IDE + + + + + + Localization + preferences-desktop-locale + + + Translation + + + + + + Profiling + + + Profiling + + + + + + Web Development + + + WebDevelopment + + + applications-internet + + + + + + + Education + applications-education + pkcategories/educationcrop.jpg + + + Education + + + + + + + Science and Engineering + pkcategories/sciencecrop.jpg + applications-science + + + Science + Engineering + + + + Astronomy + + + Astronomy + + + + + Biology + + + Biology + + + + + Chemistry + applications-science + + + Chemistry + + + + + Computer Science and Robotics + computer + + + ArtificialIntelligence + ComputerScience + Robotics + + + + + Electronics + audio-card + + + Electronics + + + + + Engineering + applications-engineering + + + Engineering + + + + + Geography + + + Geography + + + + + Geology + + + Geology + Geoscience + + + + + Mathematics + applications-education-mathematics + + + DataVisualization + Math + NumericalAnalysis + + + + + Physics + step + + + Physics + + + + + + + Games + pkcategories/gamecrop.jpg + applications-games + + + Game + + + + + Arcade + applications-games-arcade + + + ArcadeGame + + + + + Board Games + applications-games-board + + + BoardGame + + + + + Card Games + applications-games-card + + + CardGame + + + + + Puzzles + applications-games + + + LogicGame + + + + + Role Playing + applications-games + + + RolePlaying + + + + + Simulation + applications-games-strategy + + + Simulation + + + + + Strategy + applications-games-strategy + + + StrategyGame + + + + + Sports + applications-games + + + SportsGame + + + + + Action + applications-games + + + ActionGame + + + + + Emulators + applications-games + + + Emulator + + + + + + + + + Graphics + pkcategories/graphiccrop.jpg + applications-graphics + + + Graphics + + + + 3D + + + 3DGraphics + + + + + Drawing + draw-freehand + + + VectorGraphics + + Viewer + + + + + + Painting and Editing + draw-brush + + + RasterGraphics + + Viewer + Scanning + + + + + + Photography + image-x-generic + + + Photography + + + + + Publishing + document-export + + + Publishing + + + + + Scanning and OCR + scanner + + + Scanning + OCR + + + + + Viewers + graphics-viewer-document + + + Viewer + + + + + + + + Internet + applications-internet + pkcategories/internetcrop.jpg + + + Network + + + + Chat + kopete + + + InstantMessaging + IRCClient + + + + + File Sharing + ktorrent + + + FileTransfer + + + + + Mail + internet-mail + + + Email + + + + + Web Browsers + internet-web-browser + + + WebBrowser + + + + + + + + Multimedia + pkcategories/multimediacrop.jpg + applications-multimedia + + + AudioVideo + + + + + Audio and Video Editors + edit-cut + + + AudioVideoEditing + + + + + Audio Players + audio-headphones + + + + AudioVideo + Audio + + + Video + AudioVideoEditing + DiscBurning + Music + Sequencer + Mixer + Utility + + + + + + Video Players + emblem-videos-symbolic + + + + AudioVideo + Video + + + Audio + AudioVideoEditing + DiscBurning + Utility + + + + + + CD and DVD + media-optical + + + DiscBurning + + + + + + + + Office + pkcategories/officecrop.jpg + applications-office + + + Office + + + + + + System Settings + pkcategories/settingscrop.jpg + preferences-system + + + Settings + System + + + + + + + Plasma Addons + plasma + + + + + org.kde.plasma.* + + + + + Plasma Widgets + plasma + + + + org.kde.plasma.* + + + + + + + + diff --git a/libdiscover/backends/PackageKitBackend/pk-offline-private.h b/libdiscover/backends/PackageKitBackend/pk-offline-private.h new file mode 100644 index 0000000..dc2bcaf --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/pk-offline-private.h @@ -0,0 +1,49 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2014 Richard Hughes + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __PK_OFFLINE_PRIVATE_H +#define __PK_OFFLINE_PRIVATE_H + +//NOTE: please don't modify, comes from upstream PackageKit/lib/packagekit-glib2/pk-offline-private.h + +#ifndef PK_OFFLINE_DESTDIR +#define PK_OFFLINE_DESTDIR "" +#endif + +/* the state file for regular offline update */ +#define PK_OFFLINE_PREPARED_FILENAME PK_OFFLINE_DESTDIR "/var/lib/PackageKit/prepared-update" +/* the state file for offline system upgrade */ +#define PK_OFFLINE_PREPARED_UPGRADE_FILENAME \ + PK_OFFLINE_DESTDIR "/var/lib/PackageKit/prepared-upgrade" + +/* the trigger file that systemd uses to start a different boot target */ +#define PK_OFFLINE_TRIGGER_FILENAME PK_OFFLINE_DESTDIR "/system-update" + +/* the keyfile describing the outcome of the latest offline update */ +#define PK_OFFLINE_RESULTS_FILENAME PK_OFFLINE_DESTDIR "/var/lib/PackageKit/offline-update-competed" + +/* the action to take when the offline update has completed, e.g. restart */ +#define PK_OFFLINE_ACTION_FILENAME PK_OFFLINE_DESTDIR "/var/lib/PackageKit/offline-update-action" + +/* the group name for the offline updates results keyfile */ +#define PK_OFFLINE_RESULTS_GROUP "PackageKit Offline Update Results" + +#endif diff --git a/libdiscover/backends/PackageKitBackend/pkui.qrc b/libdiscover/backends/PackageKitBackend/pkui.qrc new file mode 100644 index 0000000..b5c8a98 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/pkui.qrc @@ -0,0 +1,6 @@ + + + + qml/DependenciesButton.qml + + diff --git a/libdiscover/backends/PackageKitBackend/qml/DependenciesButton.qml b/libdiscover/backends/PackageKitBackend/qml/DependenciesButton.qml new file mode 100644 index 0000000..7ac9891 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/qml/DependenciesButton.qml @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.8 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.1 as Kirigami + +LinkButton +{ + text: i18n("Show Dependencies...") + + onClicked: overlay.open() + visible: view.count > 0 + + Connections { + target: resource + onDependenciesFound: { + view.model.clear() + for (var v in dependencies) { + view.model.append({display: i18n("%1: %2", v, dependencies[v])}) + } + } + } + + DiscoverPopup { + id: overlay + + ListView { + id: view + anchors.fill: parent + + clip: true + headerPositioning: ListView.OverlayHeader + header: Kirigami.ItemViewHeader { + title: i18n("%1 Dependencies", resource.name) + } + model: ListModel {} + delegate: Kirigami.BasicListItem { + width: parent.width + text: modelData + } + } + } +} diff --git a/libdiscover/backends/PackageKitBackend/runservice/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/runservice/CMakeLists.txt new file mode 100644 index 0000000..7e8b96f --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/runservice/CMakeLists.txt @@ -0,0 +1,3 @@ +add_executable(runservice main.cpp) +target_link_libraries(runservice KF5::Service KF5::KIOCore) +install(TARGETS runservice DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF5}/discover) diff --git a/libdiscover/backends/PackageKitBackend/runservice/main.cpp b/libdiscover/backends/PackageKitBackend/runservice/main.cpp new file mode 100644 index 0000000..87fe6c5 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/runservice/main.cpp @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + QCoreApplication app(argc, argv); + if (app.arguments().size() != 2) + return 1; + + KService _service(app.arguments().constLast()); + if (!_service.isValid()) + return 2; + + QTextStream cerr(stderr); + KIO::DesktopExecParser execParser(_service, {}); + + auto args = execParser.resultingArguments(); + const auto execName = args.takeFirst(); + return !QProcess::startDetached(execName, args); +} diff --git a/libdiscover/backends/SnapBackend/CMakeLists.txt b/libdiscover/backends/SnapBackend/CMakeLists.txt new file mode 100644 index 0000000..58c8a7f --- /dev/null +++ b/libdiscover/backends/SnapBackend/CMakeLists.txt @@ -0,0 +1,12 @@ +add_subdirectory(libsnapclient) + +add_library(snap-backend MODULE SnapResource.cpp SnapBackend.cpp SnapReviewsBackend.cpp SnapTransaction.cpp snapui.qrc) +target_link_libraries(snap-backend Qt5::Core KF5::CoreAddons KF5::ConfigCore Discover::Common Snapd::Core) + +if ("${Snapd_VERSION}" VERSION_GREATER 1.40) + target_compile_definitions(snap-backend PRIVATE -DSNAP_COMMON_IDS -DSNAP_CHANNELS) +endif() + +install(TARGETS snap-backend DESTINATION ${PLUGIN_INSTALL_DIR}/discover) +install(FILES snap-backend-categories.xml DESTINATION ${DATA_INSTALL_DIR}/libdiscover/categories) +install( FILES org.kde.discover.snap.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/libdiscover/backends/SnapBackend/SnapBackend.cpp b/libdiscover/backends/SnapBackend/SnapBackend.cpp new file mode 100644 index 0000000..fa7a96f --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapBackend.cpp @@ -0,0 +1,216 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "SnapBackend.h" +#include "SnapTransaction.h" +#include "SnapResource.h" +#include "SnapReviewsBackend.h" +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "utils.h" + +DISCOVER_BACKEND_PLUGIN(SnapBackend) + +class SnapSourcesBackend : public AbstractSourcesBackend +{ +public: + explicit SnapSourcesBackend(AbstractResourcesBackend * parent) : AbstractSourcesBackend(parent), m_model(new QStandardItemModel(this)) { + auto it = new QStandardItem(i18n("Snap")); + it->setData(QStringLiteral("Snap"), IdRole); + m_model->appendRow(it); + } + + QAbstractItemModel* sources() override { return m_model; } + bool addSource(const QString& /*id*/) override { return false; } + bool removeSource(const QString& /*id*/) override { return false;} + QString idDescription() override { return QStringLiteral("Snap"); } + QList actions() const override { return {}; } + + bool supportsAdding() const override { return false; } + bool canMoveSources() const override { return false; } + +private: + QStandardItemModel* const m_model; +}; + +SnapBackend::SnapBackend(QObject* parent) + : AbstractResourcesBackend(parent) + , m_updater(new StandardBackendUpdater(this)) + , m_reviews(new SnapReviewsBackend(this)) +{ + { + auto request = m_client.connect(); + request->runSync(); + m_valid = request->error() == QSnapdRequest::NoError; + if (!m_valid) { + qWarning() << "snap problem at initialize:" << request->errorString(); + return; + } + } + connect(m_reviews, &SnapReviewsBackend::ratingsReady, this, &AbstractResourcesBackend::emitRatingsReady); + + //make sure we populate the installed resources first + refreshStates(); + + SourcesModel::global()->addSourcesBackend(new SnapSourcesBackend(this)); +} + +int SnapBackend::updatesCount() const +{ + return m_updater->updatesCount(); +} + +static ResultsStream* voidStream() { return new ResultsStream(QStringLiteral("Snap-void"), {}); } + +ResultsStream * SnapBackend::search(const AbstractResourcesBackend::Filters& filters) +{ + if (!filters.extends.isEmpty()) { + return voidStream(); + } else if (!filters.resourceUrl.isEmpty()) { + return findResourceByPackageName(filters.resourceUrl); + } else if (filters.category && filters.category->isAddons()) { + return voidStream(); + } else if (filters.state >= AbstractResource::Installed || filters.origin == QLatin1String("Snap")) { + return populate(m_client.list()); + } else if (!filters.search.isEmpty()) { + return populate(m_client.find(QSnapdClient::FindFlag::None, filters.search)); + } + return voidStream(); +} + +ResultsStream * SnapBackend::findResourceByPackageName(const QUrl& search) +{ + return search.scheme() == QLatin1String("snap") ? populate(m_client.find(QSnapdClient::MatchName, search.host())) : + search.scheme() == QLatin1String("appstream") ? new ResultsStream(QLatin1String("snap-appstreamurl"), kFilter>(m_resources, [search](SnapResource* res){ return res->appstreamId() == search.host(); } )) : + voidStream(); +} + +template +ResultsStream* SnapBackend::populate(T* job) +{ + auto stream = new ResultsStream(QStringLiteral("Snap-populate")); + + connect(job, &QSnapdFindRequest::complete, stream, [stream, this, job]() { + if (job->error()) { + qDebug() << "error:" << job->error() << job->errorString(); + stream->finish(); + return; + } + + QVector ret; + QSet resources; + resources.reserve(job->snapCount()); + for (int i=0, c=job->snapCount(); i snap(job->snap(i)); + const auto snapname = snap->name(); + SnapResource* res = m_resources.value(snapname); + if (!res) { + res = new SnapResource(snap, AbstractResource::None, this); + Q_ASSERT(res->packageName() == snapname); + resources += res; + } else { + res->setSnap(snap); + } + ret += res; + } + + foreach(SnapResource* res, resources) + m_resources[res->packageName()] = res; + + if (!ret.isEmpty()) + Q_EMIT stream->resourcesFound(ret); + stream->finish(); + }); + job->runAsync(); + return stream; +} + +void SnapBackend::setFetching(bool fetching) +{ + if (m_fetching != fetching) { + m_fetching = fetching; + Q_EMIT fetchingChanged(); + } else { + qWarning() << "fetching already on state" << fetching; + } +} + +AbstractBackendUpdater* SnapBackend::backendUpdater() const +{ + return m_updater; +} + +AbstractReviewsBackend* SnapBackend::reviewsBackend() const +{ + return m_reviews; +} + +Transaction* SnapBackend::installApplication(AbstractResource* app, const AddonList& addons) +{ + Q_ASSERT(addons.isEmpty()); + return installApplication(app); +} + +Transaction* SnapBackend::installApplication(AbstractResource* _app) +{ + auto app = qobject_cast(_app); + return new SnapTransaction(&m_client, app, Transaction::InstallRole, AbstractResource::Installed); +} + +Transaction* SnapBackend::removeApplication(AbstractResource* _app) +{ + auto app = qobject_cast(_app); + return new SnapTransaction(&m_client, app, Transaction::RemoveRole, AbstractResource::None); +} + +QString SnapBackend::displayName() const +{ + return QStringLiteral("Snap"); +} + +void SnapBackend::refreshStates() +{ + auto ret = new StoredResultsStream({populate(m_client.list())}); + connect(ret, &StoredResultsStream::finished, this, [this, ret](){ + for (auto res: qAsConst(m_resources)) { + if (ret->resources().contains(res)) + res->setState(AbstractResource::Installed); + else + res->setState(AbstractResource::None); + } + }); +} + +#include "SnapBackend.moc" diff --git a/libdiscover/backends/SnapBackend/SnapBackend.h b/libdiscover/backends/SnapBackend/SnapBackend.h new file mode 100644 index 0000000..44d116f --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapBackend.h @@ -0,0 +1,71 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef SNAPBACKEND_H +#define SNAPBACKEND_H + +#include +#include +#include +#include + +class QAction; +class SnapReviewsBackend; +class StandardBackendUpdater; +class SnapResource; +class SnapBackend : public AbstractResourcesBackend +{ +Q_OBJECT +public: + explicit SnapBackend(QObject* parent = nullptr); + + ResultsStream * search(const AbstractResourcesBackend::Filters & search) override; + ResultsStream * findResourceByPackageName(const QUrl& search); + + QString displayName() const override; + int updatesCount() const override; + AbstractBackendUpdater* backendUpdater() const override; + AbstractReviewsBackend* reviewsBackend() const override; + bool isValid() const override { return m_valid; } + + Transaction* installApplication(AbstractResource* app) override; + Transaction* installApplication(AbstractResource* app, const AddonList& addons) override; + Transaction* removeApplication(AbstractResource* app) override; + bool isFetching() const override { return m_fetching; } + void checkForUpdates() override {} + bool hasApplications() const override { return true; } + QSnapdClient* client() { return &m_client; } + void refreshStates(); + +private: + void setFetching(bool fetching); + template + ResultsStream* populate(T* snaps); + + QHash m_resources; + StandardBackendUpdater* m_updater; + SnapReviewsBackend* m_reviews; + + bool m_valid = true; + bool m_fetching = false; + QSnapdClient m_client; +}; + +#endif // SNAPBACKEND_H diff --git a/libdiscover/backends/SnapBackend/SnapResource.cpp b/libdiscover/backends/SnapBackend/SnapResource.cpp new file mode 100644 index 0000000..34baad4 --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapResource.cpp @@ -0,0 +1,447 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "SnapResource.h" +#include "SnapBackend.h" +#include +#include +#include +#include +#include +#include +#include +#include + +QDebug operator<<(QDebug debug, const QSnapdPlug& plug) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "QSnapdPlug("; + debug.nospace() << "name:" << plug.name() << ','; + debug.nospace() << "snap:" << plug.snap() << ','; + debug.nospace() << "label:" << plug.label() << ','; + debug.nospace() << "interface:" << plug.interface() << ','; + debug.nospace() << "connectionCount:" << plug.connectionCount(); + debug.nospace() << ')'; + return debug; +} + +QDebug operator<<(QDebug debug, const QSnapdSlot& slot) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "QSnapdSlot("; + debug.nospace() << "name:" << slot.name() << ','; + debug.nospace() << "label:" << slot.label() << ','; + debug.nospace() << "snap:" << slot.snap() << ','; + debug.nospace() << "interface:" << slot.interface() << ','; + debug.nospace() << "connectionCount:" << slot.connectionCount(); + debug.nospace() << ')'; + return debug; +} + +QDebug operator<<(QDebug debug, const QSnapdPlug* plug) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "*" << *plug; + return debug; +} + +QDebug operator<<(QDebug debug, const QSnapdSlot* slot) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "*" << *slot; + return debug; +} + +const QStringList SnapResource::m_objects({ QStringLiteral("qrc:/qml/PermissionsButton.qml") +#ifdef SNAP_CHANNELS + , QStringLiteral("qrc:/qml/ChannelsButton.qml") +#endif + }); + +SnapResource::SnapResource(QSharedPointer snap, AbstractResource::State state, SnapBackend* backend) + : AbstractResource(backend) + , m_state(state) + , m_snap(snap) +{ + setObjectName(snap->name()); +} + +QSnapdClient * SnapResource::client() const +{ + auto backend = qobject_cast(parent()); + return backend->client(); +} + +QString SnapResource::availableVersion() const +{ + return installedVersion(); +} + +QStringList SnapResource::categories() +{ + return { QStringLiteral("Application") }; +} + +QString SnapResource::comment() +{ + return m_snap->summary(); +} + +int SnapResource::size() +{ +// return isInstalled() ? m_snap->installedSize() : m_snap->downloadSize(); + return m_snap->downloadSize(); +} + +QVariant SnapResource::icon() const +{ + if (m_icon.isNull()) { + m_icon = [this]() -> QVariant { + const auto iconPath = m_snap->icon(); + if (iconPath.isEmpty()) + return QStringLiteral("package-x-generic"); + + if (!iconPath.startsWith(QLatin1Char('/'))) + return QUrl(iconPath); + + auto req = client()->getIcon(packageName()); + connect(req, &QSnapdGetIconRequest::complete, this, &SnapResource::gotIcon); + req->runAsync(); + return {}; + }(); + } + return m_icon; +} + +void SnapResource::gotIcon() +{ + auto req = qobject_cast(sender()); + if (req->error()) { + qWarning() << "icon error" << req->errorString(); + return; + } + + auto icon = req->icon(); + + QBuffer buffer; + buffer.setData(icon->data()); + QImageReader reader(&buffer); + + auto theIcon = QVariant::fromValue(reader.read()); + if (theIcon != m_icon) { + m_icon = theIcon; + iconChanged(); + } +} + +QString SnapResource::installedVersion() const +{ + return m_snap->version(); +} + +QString SnapResource::license() +{ + return m_snap->license(); +} + +QString SnapResource::longDescription() +{ + return m_snap->description(); +} + +QString SnapResource::name() const +{ + return m_snap->title().isEmpty() ? m_snap->name() : m_snap->title(); +} + +QString SnapResource::origin() const +{ + return QStringLiteral("Snap"); +} + +QString SnapResource::packageName() const +{ + return m_snap->name(); +} + +QString SnapResource::section() +{ + return QStringLiteral("snap"); +} + +AbstractResource::State SnapResource::state() +{ + return m_state; +} + +void SnapResource::setState(AbstractResource::State state) +{ + if (m_state != state) { + m_state = state; + Q_EMIT stateChanged(); + } +} + +void SnapResource::fetchChangelog() +{ + QString log; + emit changelogFetched(log); +} + +void SnapResource::fetchScreenshots() +{ + QList screenshots; + for(int i = 0, c = m_snap->screenshotCount(); i screenshot(m_snap->screenshot(i)); + screenshots << QUrl(screenshot->url()); + } + Q_EMIT screenshotsFetched(screenshots, screenshots); +} + +void SnapResource::invokeApplication() const +{ + QProcess::startDetached(QStringLiteral("snap"), {QStringLiteral("run"), packageName()}); +} + +bool SnapResource::isTechnical() const +{ + return m_snap->snapType() != QLatin1String("app"); +} + +void SnapResource::setSnap(const QSharedPointer& snap) +{ + Q_ASSERT(snap->name() == m_snap->name()); + if (m_snap == snap) + return; + + const bool newSize = m_snap->installedSize() != snap->installedSize() || m_snap->downloadSize() != snap->downloadSize(); + m_snap = snap; + if (newSize) + Q_EMIT sizeChanged(); + + Q_EMIT newSnap(); +} + +QDate SnapResource::releaseDate() const +{ + return {}; +} + +class PlugsModel : public QStandardItemModel +{ +public: + enum Roles { + PlugNameRole = Qt::UserRole + 1, + SlotSnapRole, + SlotNameRole + }; + + PlugsModel(SnapResource* res, SnapBackend* backend, QObject* parent) + : QStandardItemModel(parent) + , m_res(res) + , m_backend(backend) + { + setItemRoleNames(roleNames().unite( + { {Qt::CheckStateRole, "checked"} } + )); + + auto req = backend->client()->getInterfaces(); + req->runSync(); + + QHash> slotsForInterface; + for (int i = 0; islotCount(); ++i) { + const auto slot = req->slot(i); + slot->setParent(this); + slotsForInterface[slot->interface()].append(slot); + + } + + const auto snap = m_res->snap(); + for (int i = 0; iplugCount(); ++i) { + const QScopedPointer plug(req->plug(i)); + if (plug->snap() == snap->name()) { + if (plug->interface() == QLatin1String("content")) + continue; + + for (auto slot: slotsForInterface[plug->interface()]) { + auto item = new QStandardItem; + if (plug->label().isEmpty()) + item->setText(plug->name()); + else + item->setText(i18n("%1 - %2", plug->name(), plug->label())); + +// qDebug() << "xxx" << plug->name() << plug->label() << plug->interface() << slot->snap() << "slot:" << slot->name() << slot->snap() << slot->interface() << slot->label(); + item->setCheckable(true); + item->setCheckState(plug->connectionCount()>0 ? Qt::Checked : Qt::Unchecked); + item->setData(plug->name(), PlugNameRole); + item->setData(slot->snap(), SlotSnapRole); + item->setData(slot->name(), SlotNameRole); + appendRow(item); + } + } + } + } + +private: + bool setData(const QModelIndex & index, const QVariant & value, int role) override { + if (role != Qt::CheckStateRole) + return QStandardItemModel::setData(index, value, role); + + auto item = itemFromIndex(index); + Q_ASSERT(item); + const QString plugName = item->data(PlugNameRole).toString(); + const QString slotSnap = item->data(SlotSnapRole).toString(); + const QString slotName = item->data(SlotNameRole).toString(); + + QSnapdRequest* req; + + const auto snap = m_res->snap(); + if (item->checkState() == Qt::Checked) { + req = m_backend->client()->disconnectInterface(snap->name(), plugName, slotSnap, slotName); + } else { + req = m_backend->client()->connectInterface(snap->name(), plugName, slotSnap, slotName); + } + req->runSync(); + if (req->error()) { + qWarning() << "snapd error" << req->errorString(); + m_res->backend()->passiveMessage(req->errorString()); + } + return req->error() == QSnapdRequest::NoError; + } + + SnapResource* const m_res; + SnapBackend* const m_backend; +}; + +QAbstractItemModel* SnapResource::plugs(QObject* p) +{ + if (!isInstalled()) + return new QStandardItemModel(p); + + + return new PlugsModel(this, qobject_cast(parent()), p); +} + +QString SnapResource::appstreamId() const +{ + const QStringList ids +#if defined(SNAP_COMMON_IDS) + = m_snap->commonIds() +#endif + ; + return ids.isEmpty() ? QLatin1String("com.snap.") + m_snap->name() : ids.first(); +} + +QString SnapResource::channel() const +{ + auto req = client()->listOne(packageName()); + req->runSync(); + return req->error() ? QString() : req->snap()->trackingChannel(); +} + +void SnapResource::setChannel(const QString& channelName) +{ +#ifdef SNAP_CHANNELS + Q_ASSERT(isInstalled()); + auto request = client()->switchChannel(m_snap->name(), channelName); + + const auto currentChannel = channel(); + auto dest = new CallOnDestroy([this, currentChannel]() { + const auto newChannel = channel(); + if (newChannel != currentChannel) { + Q_EMIT channelChanged(newChannel); + } + }); + + request->runAsync(); + connect(request, &QSnapdRequest::complete, dest, &QObject::deleteLater); +#endif +} + +void SnapResource::refreshSnap() +{ + auto request = client()->find(QSnapdClient::FindFlag::MatchName, m_snap->name()); + connect(request, &QSnapdRequest::complete, this, [this, request](){ + if (request->error()) { + qWarning() << "error" << request->error() << ": " << request->errorString(); + return; + } + Q_ASSERT(request->snapCount() == 1); + setSnap(QSharedPointer(request->snap(0))); + }); + request->runAsync(); +} + +#ifdef SNAP_CHANNELS +class Channels : public QObject +{ + Q_OBJECT + Q_PROPERTY(QList channels READ channels NOTIFY channelsChanged) + +public: + Channels(SnapResource* res, QObject* parent) : QObject(parent), m_res(res) { + if (res->snap()->channelCount() == 0) + res->refreshSnap(); + else + refreshChannels(); + + connect(res, &SnapResource::newSnap, this, &Channels::refreshChannels); + } + + + void refreshChannels() + { + qDeleteAll(m_channels); + m_channels.clear(); + + auto s = m_res->snap(); + for(int i=0, c=s->channelCount(); ichannel(i); + channel->setParent(this); + m_channels << channel; + } + Q_EMIT channelsChanged(); + } + + QList channels() const + { + return m_channels; + } + +Q_SIGNALS: + void channelsChanged(); + +private: + QList m_channels; + SnapResource* const m_res; +}; + +#endif + +QObject * SnapResource::channels(QObject* parent) +{ +#ifdef SNAP_CHANNELS + return new Channels(this, parent); +#else + return nullptr; +#endif +} + +#include "SnapResource.moc" diff --git a/libdiscover/backends/SnapBackend/SnapResource.h b/libdiscover/backends/SnapBackend/SnapResource.h new file mode 100644 index 0000000..0e1a8f2 --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapResource.h @@ -0,0 +1,93 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef SNAPRESOURCE_H +#define SNAPRESOURCE_H + +#include +#include +#include +#include + +class SnapBackend; +class QAbstractItemModel; +class QSnapdClient; +class QSnapdChannel; + +class SnapResource : public AbstractResource +{ +Q_OBJECT +Q_PROPERTY(QStringList objects MEMBER m_objects CONSTANT) +Q_PROPERTY(QString channel READ channel WRITE setChannel NOTIFY channelChanged) +public: + explicit SnapResource(QSharedPointer snap, AbstractResource::State state, SnapBackend* parent); + ~SnapResource() override = default; + + QString section() override; + QString origin() const override; + QString longDescription() override; + QString availableVersion() const override; + QString installedVersion() const override; + QString license() override; + int size() override; + QStringList categories() override; + AbstractResource::State state() override; + QVariant icon() const override; + QString comment() override; + QString name() const override; + QString packageName() const override; + bool isTechnical() const override; + bool canExecute() const override { return true; } + void invokeApplication() const override; + void fetchChangelog() override; + void fetchScreenshots() override; + QList addonsInformation() override { return {}; } + void setSnap(const QSharedPointer &snap); + + void setState(AbstractResource::State state); + QString sourceIcon() const override { return QStringLiteral("snap"); } + + QDate releaseDate() const override; + + Q_SCRIPTABLE QAbstractItemModel* plugs(QObject* parentC); + Q_SCRIPTABLE QObject* channels(QObject* parent); + QString appstreamId() const override; + + QString channel() const; + void setChannel(const QString &channel); + + QSharedPointer snap() const { return m_snap; } + +Q_SIGNALS: + void channelChanged(const QString &channel); + void newSnap(); + +public: + QSnapdClient* client() const; + void refreshSnap(); + void gotIcon(); + AbstractResource::State m_state; + + QSharedPointer m_snap; + mutable QVariant m_icon; + static const QStringList m_objects; +}; + +#endif // SNAPRESOURCE_H diff --git a/libdiscover/backends/SnapBackend/SnapReviewsBackend.cpp b/libdiscover/backends/SnapBackend/SnapReviewsBackend.cpp new file mode 100644 index 0000000..6afd738 --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapReviewsBackend.cpp @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "SnapReviewsBackend.h" +#include "SnapBackend.h" +#include +#include +#include +#include +#include + +SnapReviewsBackend::SnapReviewsBackend(SnapBackend* parent) + : AbstractReviewsBackend(parent) +{} + +void SnapReviewsBackend::fetchReviews(AbstractResource* /*app*/, int /*page*/) +{ + emit reviewsReady({}, {}, false); +} + +Rating* SnapReviewsBackend::ratingForApplication(AbstractResource* /*app*/) const +{ + return nullptr; +} + +void SnapReviewsBackend::submitUsefulness(Review* /*r*/, bool /*useful*/) +{ +} + +void SnapReviewsBackend::submitReview(AbstractResource* /*res*/, const QString& /*a*/, const QString& /*b*/, const QString& /*c*/) +{ +} + +bool SnapReviewsBackend::isResourceSupported(AbstractResource* /*res*/) const +{ + return false; +} diff --git a/libdiscover/backends/SnapBackend/SnapReviewsBackend.h b/libdiscover/backends/SnapBackend/SnapReviewsBackend.h new file mode 100644 index 0000000..250572a --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapReviewsBackend.h @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef SNAPREVIEWSBACKEND_H +#define SNAPREVIEWSBACKEND_H + +#include +#include +#include + +class SnapBackend; +class SnapReviewsBackend : public AbstractReviewsBackend +{ +Q_OBJECT +public: + explicit SnapReviewsBackend(SnapBackend* parent = nullptr); + + QString userName() const override { return QStringLiteral("snap"); } + void login() override {} + void logout() override {} + void registerAndLogin() override {} + + Rating* ratingForApplication(AbstractResource* app) const override; + bool hasCredentials() const override { return false; } + void deleteReview(Review*) override {} + void fetchReviews(AbstractResource* app, int page = 1) override; + bool isFetching() const override { return false; } + void submitReview(AbstractResource*, const QString&, const QString&, const QString&) override; + void flagReview(Review*, const QString&, const QString&) override {} + void submitUsefulness(Review*, bool) override; + bool isResourceSupported(AbstractResource * res) const override; + +Q_SIGNALS: + void ratingsReady(); +}; + +#endif // SNAPREVIEWSBACKEND_H diff --git a/libdiscover/backends/SnapBackend/SnapTransaction.cpp b/libdiscover/backends/SnapBackend/SnapTransaction.cpp new file mode 100644 index 0000000..453cdda --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapTransaction.cpp @@ -0,0 +1,130 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "SnapTransaction.h" +#include "SnapBackend.h" +#include "SnapResource.h" +#include +#include +#include +#include +#include +#include +#include "libsnapclient/config-paths.h" +#include "utils.h" + +SnapTransaction::SnapTransaction(QSnapdClient* client, SnapResource* app, Role role, AbstractResource::State newState) + : Transaction(app, app, role) + , m_client(client) + , m_app(app) + , m_newState(newState) +{ + if (role == RemoveRole) + setRequest(m_client->remove(app->packageName())); + else + setRequest(m_client->install(app->packageName())); +} + +void SnapTransaction::cancel() +{ + m_request->cancel(); +} + +void SnapTransaction::finishTransaction() +{ + switch(m_request->error()) { + case QSnapdRequest::NoError: + static_cast(m_app->backend())->refreshStates(); + setStatus(DoneStatus); + m_app->setState(m_newState); + break; + case QSnapdRequest::NeedsClassic: + setStatus(SetupStatus); + if (role() == Transaction::InstallRole) { + Q_EMIT proceedRequest(m_app->name(), i18n("This snap application needs security confinement measures disabled.")); + return; + } + break; + case QSnapdRequest::AuthDataRequired: { + setStatus(SetupStatus); + QProcess* p = new QProcess; + p->setProgram(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR "/discover/SnapMacaroonDialog")); + p->start(); + + connect(p, static_cast(&QProcess::finished), this, [this, p] (int code) { + p->deleteLater(); + if (code != 0) { + qWarning() << "login failed... code:" << code << p->readAll(); + Q_EMIT passiveMessage(m_request->errorString()); + setStatus(DoneWithErrorStatus); + return; + } + const auto doc = QJsonDocument::fromJson(p->readAllStandardOutput()); + const auto result = doc.object(); + + const auto macaroon = result[QStringLiteral("macaroon")].toString(); + const auto discharges = kTransform(result[QStringLiteral("discharges")].toArray(), [](const QJsonValue& val) { return val.toString(); }); + static_cast(m_app->backend())->client()->setAuthData(new QSnapdAuthData(macaroon, discharges)); + m_request->runAsync(); + }); + } return; + default: + setStatus(DoneWithErrorStatus); + qDebug() << "snap error" << m_request << m_request->error() << m_request->errorString(); + Q_EMIT passiveMessage(m_request->errorString()); + break; + } +} + +void SnapTransaction::proceed() +{ + setRequest(m_client->install(QSnapdClient::Classic, m_app->packageName())); +} + +void SnapTransaction::setRequest(QSnapdRequest* req) +{ + m_request.reset(req); + + setCancellable(false); + connect(m_request.data(), &QSnapdRequest::progress, this, &SnapTransaction::progressed); + connect(m_request.data(), &QSnapdRequest::complete, this, &SnapTransaction::finishTransaction); + + setStatus(SetupStatus); + m_request->runAsync(); +} + +void SnapTransaction::progressed() +{ + const auto change = m_request->change(); + int percentage = 0, count = 0; + + auto status = SetupStatus; + for(int i = 0, c = change->taskCount(); itask(i); + if (task->kind() == QLatin1String("download-snap")) { + status = task->status() == QLatin1String("doing") || task->status() == QLatin1String("do") ? DownloadingStatus : CommittingStatus; + } else if (task->kind() == QLatin1String("clear-snap")) { + status = CommittingStatus; + } + percentage += (100 * task->progressDone()) / task->progressTotal(); + } + setProgress(percentage / qMax(count, 1)); +} diff --git a/libdiscover/backends/SnapBackend/SnapTransaction.h b/libdiscover/backends/SnapBackend/SnapTransaction.h new file mode 100644 index 0000000..75dffc0 --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapTransaction.h @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef SNAPTRANSACTION_H +#define SNAPTRANSACTION_H + +#include +#include +#include + +class SnapResource; +class QSnapdRequest; +class QSnapdClient; + +class SnapTransaction : public Transaction +{ + Q_OBJECT + public: + SnapTransaction(QSnapdClient* client, SnapResource* app, Role role, AbstractResource::State newState); + + void cancel() override; + void proceed() override; + + private Q_SLOTS: + void finishTransaction(); + + private: + void setRequest(QSnapdRequest* req); + void progressed(); + + QSnapdClient * const m_client; + SnapResource * const m_app; + QScopedPointer m_request; + const AbstractResource::State m_newState; +}; + +#endif // SNAPTRANSACTION_H diff --git a/libdiscover/backends/SnapBackend/libsnapclient/CMakeLists.txt b/libdiscover/backends/SnapBackend/libsnapclient/CMakeLists.txt new file mode 100644 index 0000000..8162a19 --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/CMakeLists.txt @@ -0,0 +1,13 @@ +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-paths.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-paths.h) + +ki18n_wrap_ui(SnapMacaroonDialog_SRCS SnapMacaroonDialog.ui) +add_executable(SnapMacaroonDialog SnapMacaroonDialog.cpp ${SnapMacaroonDialog_SRCS}) +target_link_libraries(SnapMacaroonDialog Qt5::Network Qt5::Widgets KF5::Auth KF5::I18n) +install(TARGETS SnapMacaroonDialog DESTINATION ${KDE_INSTALL_LIBEXECDIR}/discover) + +add_executable(libsnap_helper SnapAuthHelper.cpp) +target_link_libraries(libsnap_helper Qt5::Network KF5::Auth Snapd::Core) +install(TARGETS libsnap_helper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) + +kauth_install_actions(org.kde.discover.libsnapclient org.kde.discover.libsnapclient.actions) +kauth_install_helper_files(libsnap_helper org.kde.discover.libsnapclient root) diff --git a/libdiscover/backends/SnapBackend/libsnapclient/SnapAuthHelper.cpp b/libdiscover/backends/SnapBackend/libsnapclient/SnapAuthHelper.cpp new file mode 100644 index 0000000..d1c139d --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/SnapAuthHelper.cpp @@ -0,0 +1,82 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace KAuth; + +class SnapAuthHelper : public QObject +{ + Q_OBJECT + QSnapdClient m_client; +public: + SnapAuthHelper() { + m_client.connect()->runAsync(); + } + +public Q_SLOTS: + ActionReply login(const QVariantMap &args) + { + const QString user = args[QStringLiteral("user")].toString() + , pass = args[QStringLiteral("password")].toString() + , otp = args[QStringLiteral("otp")].toString(); + + QScopedPointer req(otp.isEmpty() ? m_client.login(user, pass) + : m_client.login(user, pass, otp)); + + req->runSync(); + + ActionReply reply; + bool otpMode = false; + QByteArray replyData; + + if (req->error() == QSnapdRequest::NoError) { + const auto auth = req->authData(); + replyData = QJsonDocument(QJsonObject{ + {QStringLiteral("macaroon"), auth->macaroon()}, + {QStringLiteral("discharges"), QJsonArray::fromStringList(auth->discharges())} + }).toJson(); + + reply = ActionReply::SuccessReply(); + } else { + otpMode = req->error() == QSnapdConnectRequest::TwoFactorRequired; + reply = ActionReply::InvalidActionReply(); + reply.setErrorDescription(req->errorString()); + } + reply.setData({ + { QStringLiteral("reply"), replyData }, + { QStringLiteral("otpMode"), otpMode } + }); + return reply; + } +}; + +KAUTH_HELPER_MAIN("org.kde.discover.libsnapclient", SnapAuthHelper) + +#include "SnapAuthHelper.moc" diff --git a/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.cpp b/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.cpp new file mode 100644 index 0000000..1efca1e --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.cpp @@ -0,0 +1,104 @@ +/*************************************************************************** + * Copyright © 2017 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "ui_SnapMacaroonDialog.h" + +class MacaroonDialog : public QDialog +{ +public: + MacaroonDialog() + : QDialog() + { + m_ui.setupUi(this); + connect(this, &QDialog::accepted, this, &MacaroonDialog::startLogin); + connect(this, &QDialog::rejected, this, []() { + qApp->exit(1); + }); + + setOtpMode(false); + } + + void startLogin() + { + login(m_ui.username->text(), m_ui.password->text(), m_ui.otp->text()); + } + + void login(const QString& username, const QString& password, const QString& otp = {}) + { + KAuth::Action snapAction(QStringLiteral("org.kde.discover.libsnapclient.login")); + snapAction.setHelperId(QStringLiteral("org.kde.discover.libsnapclient")); + snapAction.setArguments({ + { QStringLiteral("user"), username }, + { QStringLiteral("password"), password }, + { QStringLiteral("otp"), otp } + }); + Q_ASSERT(snapAction.isValid()); + + KAuth::ExecuteJob *reply = snapAction.execute(); + connect(reply, &KAuth::ExecuteJob::result, this, &MacaroonDialog::replied); + reply->start(); + } + + void setOtpMode(bool enabled) + { + m_ui.password->setEnabled(!enabled); + m_ui.otp->setVisible(enabled); + m_ui.otpLabel->setVisible(enabled); + } + + void replied(KJob* job) + { + KAuth::ExecuteJob* reply = static_cast(job); + const QVariantMap replyData = reply->data(); + if (reply->error() == 0) { + QTextStream(stdout) << replyData[QLatin1String("reply")].toString(); + QCoreApplication::instance()->exit(0); + } else { + const QString message = replyData.value(QLatin1String("errorString"), reply->errorString()).toString(); + setOtpMode(replyData[QLatin1String("otpMode")].toBool()); + + m_ui.errorMessage->setText(message); + show(); + } + } + + Ui::SnapMacaroonDialog m_ui; +}; + + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + app.setQuitOnLastWindowClosed(false); + QPointer dialog = new MacaroonDialog; + dialog->show(); + auto ret = app.exec(); + delete dialog; + return ret; +} diff --git a/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.ui b/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.ui new file mode 100644 index 0000000..9038009 --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.ui @@ -0,0 +1,146 @@ + + + SnapMacaroonDialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + + + + Log in to the <a href="https://login.ubuntu.com/">Snap store</a>: + + + + + + + Username: + + + + + + + Username + + + + + + + Password: + + + + + + + QLineEdit::Password + + + Password + + + + + + + Two-Factor: + + + Qt::PlainText + + + + + + + QLineEdit::Password + + + + + + + + + + true + + + Qt::NoTextInteraction + + + + + + + + + Qt::Vertical + + + + 20 + 119 + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + SnapMacaroonDialog + accept() + + + 254 + 293 + + + 157 + 274 + + + + + buttonBox + rejected() + SnapMacaroonDialog + reject() + + + 322 + 293 + + + 286 + 274 + + + + + diff --git a/libdiscover/backends/SnapBackend/libsnapclient/config-paths.h.cmake b/libdiscover/backends/SnapBackend/libsnapclient/config-paths.h.cmake new file mode 100644 index 0000000..9f26104 --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/config-paths.h.cmake @@ -0,0 +1 @@ +#define CMAKE_INSTALL_FULL_LIBEXECDIR "@CMAKE_INSTALL_FULL_LIBEXECDIR@" diff --git a/libdiscover/backends/SnapBackend/libsnapclient/org.kde.discover.libsnapclient.actions b/libdiscover/backends/SnapBackend/libsnapclient/org.kde.discover.libsnapclient.actions new file mode 100644 index 0000000..7266c5e --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/org.kde.discover.libsnapclient.actions @@ -0,0 +1,73 @@ +[org.kde.discover.libsnapclient.login] +Name=Snap login action +Name[ar]=إجراء ولوج سناپ +Name[ca]=Accions de connexió de l'Snap +Name[ca@valencia]=Accions de connexió de l'Snap +Name[da]=Snap login-handling +Name[de]=Anmeldungsaktion für Snap +Name[el]=Ενέργεια εισόδου snap +Name[en_GB]=Snap login action +Name[es]=Acciones de inicio de sesión en Snap +Name[eu]=Snap saioa hasteko ekintza +Name[fi]=Snap-kirjautumistoiminto +Name[fr]=Action d'identification Snap +Name[gl]=Acción de identificación de Snap +Name[hu]=Snap bejelentkezési művelet +Name[id]=Tindakan login snap +Name[it]=Azione di accesso Snap +Name[ko]=Snap 로그인 동작 +Name[nl]=Actie voor aanmelden van snap +Name[nn]=Snap-innloggingshandling +Name[pl]=Logowanie snap +Name[pt]=Acção de autenticação do Snap +Name[pt_BR]=Ação de login do Snap +Name[ru]=Вход в систему приложений из snap-пакетов +Name[sk]=Akcia Snap login +Name[sl]=Prijavno dejanje za Snap +Name[sr]=Снапијеве радње пријављивања +Name[sr@ijekavian]=Снапијеве радње пријављивања +Name[sr@ijekavianlatin]=Snappyjeve radnje prijavljivanja +Name[sr@latin]=Snappyjeve radnje prijavljivanja +Name[sv]=Snap inloggningsÃ¥tgärd +Name[tr]=Snap giriş eylemi +Name[uk]=Дія з входу Snap +Name[x-test]=xxSnap login actionxx +Name[zh_CN]=Snap 登录动作 +Name[zh_TW]=Snap 登入動作 +Description=Allows snap front-ends to log in +Description[ar]=يتيح لسندات ”سناپ“ الولوج +Description[ca]=Permet que els frontals de l'Snap es connectin +Description[ca@valencia]=Permet que els frontals de l'Snap es connecten +Description[da]=Tillader snap-frontends at logge ind +Description[de]=Ermöglicht die Anmeldung von Snap-Front-Ends +Description[el]=Επιτρέπεται η σύνδεση στα περιβάλλοντα διεπαφής snap +Description[en_GB]=Allows snap front-ends to log in +Description[es]=Permite que las interfaces de Snap inicien sesión +Description[eu]=Baimendu snap aurrealdekoei saioa hastea +Description[fi]=Sallii Snap-käyttöliittymien kirjautumisen +Description[fr]=Autoriser l'identification via les interfaces Snap +Description[gl]=Permite que as interfaces de usuario de Snap se identifiquen. +Description[hu]=Lehetővé teszi a snap frontendeknek a bejelentkezést +Description[id]=Izinkan front-end snap untuk login +Description[it]=Consenti alle interfacce snap di accedere +Description[ko]=Snap 프론트엔드 로그인 허용 +Description[nl]=Front-ends van snap toestaan zich aan te melden +Description[nn]=Tillèt Snap-grensesnitt Ã¥ logga inn +Description[pl]=Umożliwia interfejsowi snap logowanie +Description[pt]=Permitir a autenticação da interfaces do 'snap' +Description[pt_BR]=Permite às interfaces do Snap logarem-se +Description[ru]=Позволяет приложениям из snap-пакетов выполнять вход в систему +Description[sk]=Umožní snap frontendom prihlásenie +Description[sl]=Omogoči prijavo za začelja Snap +Description[sr]=Дозвољава прочељима Снапија да се пријављују +Description[sr@ijekavian]=Дозвољава прочељима Снапија да се пријављују +Description[sr@ijekavianlatin]=Dozvoljava pročeljima Snappyja da se prijavljuju +Description[sr@latin]=Dozvoljava pročeljima Snappyja da se prijavljuju +Description[sv]=Möjliggör för snap-gränssnitt att logga in +Description[tr]=Giriş yapmak için snap ön uçlarına izin verir +Description[uk]=Надає змогу входити до системи оболонкам snap +Description[x-test]=xxAllows snap front-ends to log inxx +Description[zh_CN]=允许 Snap 前端登录 +Description[zh_TW]=允許 snap 前端登入 +Policy=auth_self +Persistence=session diff --git a/libdiscover/backends/SnapBackend/org.kde.discover.snap.appdata.xml b/libdiscover/backends/SnapBackend/org.kde.discover.snap.appdata.xml new file mode 100644 index 0000000..198657d --- /dev/null +++ b/libdiscover/backends/SnapBackend/org.kde.discover.snap.appdata.xml @@ -0,0 +1,96 @@ + + + org.kde.discover.snap + Snap backend + سَند سناپ + Dorsal de l'Snap + Dorsal de l'Snap + Podpůrná vrstva Snap + Snap-Backend + Snap backend + Motor Snap + Snap bizkarraldekoa + Snap-taustaosa + Moteur Snap + Infraestrutura de Snap + Backend Snap + Motore Snap + Snap 백엔드 + Snap-motor + Snap-backend + Snap-motor + Silnik Snap + Infra-estrutura do Snap + Infraestrutura Snap + Модуль поддержки формата Snap + Backend Snap + Zaledje Snap + Gränssnitt för Snap + Модуль Snap + xxSnap backendxx + Snap 后端 + Snap 後端 + Integrates Snap applications into Discover + يُكامل تطبيقات ”سناپ“ في «استكشف» + Integra aplicacions de l'Snap al Discover + Integra aplicacions de l'Snap al Discover + Integriert Snap-Anwendungen in Discover + Integrates Snap applications into Discover + Integra aplicaciones Snap en Discover + Snap aplikazioak Discover-ren integratzen ditu + Yhdistää Snap-sovellukset Discoveriin + Intègre les applications Snap au sein de Discover + Integra aplicativos de Snap con Discover + Aplikasi Snap terintegrasi ke dalam Discover + Integra le applicazioni Snap in Discover + Snap 프로그램을 발견에 통합 + Integrerer Snap-programmer i Discover + Integreert Snap-toepassingen in Discover + Integrerer Snap-program i Discover + Integruje aplikacje Snap w Odkrywcy + Integra as aplicações do Snap no Discover + Integra aplicativos Snap no Discover + Добавление поддержки формата Snap в центр программ Discover + Integruje aplikácie Snap do Discoveru + V Discover vgradi programe Snap + Integrerar Snap-program i Discover + Інтегрує програми Snap до Discover + xxIntegrates Snap applications into Discoverxx + 将 Snap 应用程序集成到发现者中 + 將 Snap 應用程式整合進 Discover 商店 + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol González + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + Aleix Pol Gonzalez + xxAleix Pol Gonzalezxx + Aleix Pol Gonzalez + Aleix Pol Gonzalez + system-software-install + diff --git a/libdiscover/backends/SnapBackend/qml/ChannelsButton.qml b/libdiscover/backends/SnapBackend/qml/ChannelsButton.qml new file mode 100644 index 0000000..15f5c9d --- /dev/null +++ b/libdiscover/backends/SnapBackend/qml/ChannelsButton.qml @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.1 as Kirigami + +Button +{ + id: root + text: i18n("Channels...") + + onClicked: overlay.open() + visible: resource.isInstalled /*&& view.count > 0*/ + + DiscoverPopup { + id: overlay + + ListView { + id: view + anchors.fill: parent + header: Kirigami.ItemViewHeader { + title: i18n ("%1 channels", resource.name) + } + model: resource.channels(root).channels + delegate: RowLayout { + width: parent.width + readonly property bool current: resource.channel === modelData.name + Label { + Layout.fillWidth: true + text: i18n("%1 - %2", modelData.name, modelData.version) + } + Button { + text: i18n("Switch") + enabled: !parent.current + onClicked: resource.channel = modelData.name + } + } + } + } +} diff --git a/libdiscover/backends/SnapBackend/qml/PermissionsButton.qml b/libdiscover/backends/SnapBackend/qml/PermissionsButton.qml new file mode 100644 index 0000000..5733393 --- /dev/null +++ b/libdiscover/backends/SnapBackend/qml/PermissionsButton.qml @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2018 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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 QtQuick 2.1 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.1 as Kirigami + +Button +{ + id: root + text: i18n("Configure permissions...") + + onClicked: overlay.open() + visible: resource.isInstalled && view.count > 0 + + DiscoverPopup { + id: overlay + + ListView { + id: view + anchors.fill: parent + header: Kirigami.ItemViewHeader { + title: i18n ("Permissions for %1", resource.name) + } + model: resource.plugs(root) + delegate: CheckDelegate { + id: delegate + width: parent.width + text: model.display + checked: model.checked + onClicked: { + model.checked = delegate.checked + } + } + } + } +} diff --git a/libdiscover/backends/SnapBackend/snap-backend-categories.xml b/libdiscover/backends/SnapBackend/snap-backend-categories.xml new file mode 100644 index 0000000..654b5d0 --- /dev/null +++ b/libdiscover/backends/SnapBackend/snap-backend-categories.xml @@ -0,0 +1,15 @@ + + + + + Applications + applications-internet + pkcategories/applicationcrop.jpg + + + Application + + + + + diff --git a/libdiscover/backends/SnapBackend/snapui.qrc b/libdiscover/backends/SnapBackend/snapui.qrc new file mode 100644 index 0000000..06921b7 --- /dev/null +++ b/libdiscover/backends/SnapBackend/snapui.qrc @@ -0,0 +1,7 @@ + + + + qml/PermissionsButton.qml + qml/ChannelsButton.qml + + diff --git a/libdiscover/notifiers/BackendNotifierModule.cpp b/libdiscover/notifiers/BackendNotifierModule.cpp new file mode 100644 index 0000000..4108c67 --- /dev/null +++ b/libdiscover/notifiers/BackendNotifierModule.cpp @@ -0,0 +1,27 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "BackendNotifierModule.h" + +BackendNotifierModule::BackendNotifierModule(QObject* parent) + : QObject(parent) +{} + +BackendNotifierModule::~BackendNotifierModule() = default; diff --git a/libdiscover/notifiers/BackendNotifierModule.h b/libdiscover/notifiers/BackendNotifierModule.h new file mode 100644 index 0000000..0f494bd --- /dev/null +++ b/libdiscover/notifiers/BackendNotifierModule.h @@ -0,0 +1,58 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef BACKENDNOTIFIERMODULE_H +#define BACKENDNOTIFIERMODULE_H + +#include +#include "discovernotifiers_export.h" + +class DISCOVERNOTIFIERS_EXPORT BackendNotifierModule : public QObject +{ +Q_OBJECT +public: + explicit BackendNotifierModule(QObject* parent = nullptr); + ~BackendNotifierModule() override; + + /*** Check for new updates. Emits @see foundUpdates when it finds something. **/ + virtual void recheckSystemUpdateNeeded() = 0; + + /*** @returns count of !security updates only. **/ + virtual uint updatesCount() = 0; + + /*** @returns count of security updates only. **/ + virtual uint securityUpdatesCount() = 0; + + /** @returns whether the system changed in a way that needs to be rebooted. */ + virtual bool needsReboot() const = 0; +Q_SIGNALS: + /** + * This signal is emitted when any new updates are available. + * @see recheckSystemUpdateNeeded + */ + void foundUpdates(); + + /** Notifies that the system needs a reboot. @see needsReboot */ + void needsRebootChanged(); +}; + +Q_DECLARE_INTERFACE(BackendNotifierModule, "org.kde.discover.BackendNotifierModule") + +#endif diff --git a/libdiscover/notifiers/CMakeLists.txt b/libdiscover/notifiers/CMakeLists.txt new file mode 100644 index 0000000..6b5124d --- /dev/null +++ b/libdiscover/notifiers/CMakeLists.txt @@ -0,0 +1,12 @@ +add_library(DiscoverNotifiers BackendNotifierModule.cpp) +target_link_libraries(DiscoverNotifiers + PUBLIC + Qt5::Core +) + +generate_export_header(DiscoverNotifiers) + +target_include_directories(DiscoverNotifiers PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +install(TARGETS DiscoverNotifiers DESTINATION ${CMAKE_INSTALL_LIBDIR}/plasma-discover) + +add_library(Discover::Notifiers ALIAS DiscoverNotifiers) diff --git a/libdiscover/resources/AbstractBackendUpdater.cpp b/libdiscover/resources/AbstractBackendUpdater.cpp new file mode 100644 index 0000000..d252a74 --- /dev/null +++ b/libdiscover/resources/AbstractBackendUpdater.cpp @@ -0,0 +1,39 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AbstractBackendUpdater.h" +#include "AbstractResource.h" + +AbstractBackendUpdater::AbstractBackendUpdater(QObject* parent) + : QObject(parent) +{} + +void AbstractBackendUpdater::cancel() +{ + Q_ASSERT(isCancelable() && "only call cancel when cancelable"); + Q_ASSERT(false && "if it can be canceled, then ::cancel() must be implemented"); +} + +void AbstractBackendUpdater::fetchChangelog() const +{ + foreach(auto res, toUpdate()) { + res->fetchChangelog(); + } +} diff --git a/libdiscover/resources/AbstractBackendUpdater.h b/libdiscover/resources/AbstractBackendUpdater.h new file mode 100644 index 0000000..53ab9dc --- /dev/null +++ b/libdiscover/resources/AbstractBackendUpdater.h @@ -0,0 +1,207 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ABSTRACTBACKENDUPDATER_H +#define ABSTRACTBACKENDUPDATER_H + +#include +#include "discovercommon_export.h" + +class QDateTime; +class QIcon; +class AbstractResource; + +/** + * \class AbstractBackendUpdater AbstractBackendUpdater.h "AbstractBackendUpdater.h" + * + * \brief This is the base class for all abstract classes, which handle system upgrades. + * + * While implementing this is not mandatory for all backends (you can also use the + * StandardBackendUpdater, which just uses the functions in the ResourcesBackend to + * update the packages), it is recommended for many. + * + * Before starting the update, the AbstractBackendUpdater will have to keep a list of + * packages, which are about to be upgraded. First, all packages have to be inserted + * into this list in the \prepare method and they can then be changed by the user through + * the \addResources and \removeResources functions. + * + * When \start is called, the AbstractBackendUpdater should start the update and report its + * progress through the rest of methods outlined in this API documentation. + * + * @see addResources + * @see removeResources + * @see start + * @see prepare + */ +class DISCOVERCOMMON_EXPORT AbstractBackendUpdater : public QObject +{ + Q_OBJECT + Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged) + Q_PROPERTY(bool isCancelable READ isCancelable NOTIFY cancelableChanged) + Q_PROPERTY(bool isProgressing READ isProgressing NOTIFY progressingChanged) + Q_PROPERTY(quint64 downloadSpeed READ downloadSpeed NOTIFY downloadSpeedChanged) + public: + /** + * Constructs an AbstractBackendUpdater + */ + explicit AbstractBackendUpdater(QObject* parent = nullptr); + + /** + * This method is called, when Muon switches to the updates view. + * Here the backend should mark all upgradeable packages as to be upgraded. + */ + virtual void prepare() = 0; + + /** + * @returns true if the backend contains packages which can be updated + */ + virtual bool hasUpdates() const = 0; + /** + * @returns the progress of the update in percent + */ + virtual qreal progress() const = 0; + + /** + * This method is used to remove resources from the list of packages + * marked to be upgraded. It will potentially be called before \start. + */ + virtual void removeResources(const QList& apps) = 0; + /** + * This method is used to add resource to the list of packages marked to be upgraded. + * It will potentially be called before \start. + */ + virtual void addResources(const QList& apps) = 0; + + /** + * @returns the list of updateable resources in the system + */ + virtual QList toUpdate() const = 0; + + /** + * @returns the QDateTime when the last update happened + */ + virtual QDateTime lastUpdate() const = 0; + + /** + * @returns whether the updater can currently be canceled or not + * @see cancelableChanged + */ + virtual bool isCancelable() const = 0; + /** + * @returns whether the updater is currently running or not + * this property decides, if there will be progress reporting in the GUI. + * This has to stay true during the whole transaction! + * @see progressingChanged + */ + virtual bool isProgressing() const = 0; + + /** + * @returns whether @p res is marked for update + */ + virtual bool isMarked(AbstractResource* res) const = 0; + + virtual void fetchChangelog() const; + + /** + * @returns the size of all the packages set to update combined + */ + virtual double updateSize() const = 0; + + /** + * @returns the speed at which we are downloading + */ + virtual quint64 downloadSpeed() const = 0; + + public Q_SLOTS: + /** + * If \isCancelable is true during the transaction, this method has + * to be implemented and will potentially be called when the user + * wants to cancel the update. + */ + virtual void cancel(); + /** + * This method starts the update. All packages which are in \toUpdate + * are going to be updated. + * + * From this moment on the AbstractBackendUpdater should continuously update + * the other methods to show its progress. + * + * @see progress + * @see progressChanged + * @see isProgressing + * @see progressingChanged + */ + virtual void start() = 0; + + /** + * Answers a proceed request + */ + virtual void proceed() {} + + Q_SIGNALS: + /** + * The AbstractBackendUpdater should emit this signal when the progress changed. + * @see progress + */ + void progressChanged(qreal progress); + /** + * The AbstractBackendUpdater should emit this signal when the cancelable property changed. + * @see isCancelable + */ + void cancelableChanged(bool cancelable); + /** + * The AbstractBackendUpdater should emit this signal when the progressing property changed. + * @see isProgressing + */ + void progressingChanged(bool progressing); + /** + * The AbstractBackendUpdater should emit this signal when the status detail changed. + * @see statusDetail + */ + void statusDetailChanged(const QString& msg); + /** + * The AbstractBackendUpdater should emit this signal when the status message changed. + * @see statusMessage + */ + void statusMessageChanged(const QString& msg); + /** + * The AbstractBackendUpdater should emit this signal when the download speed changed. + * @see downloadSpeed + */ + void downloadSpeedChanged(quint64 downloadSpeed); + + /** + * Provides the @p progress of a specific @p resource in a percentage. + */ + void resourceProgressed(AbstractResource* resource, qreal progress); + + void passiveMessage(const QString &message); + + /** + * Provides a message to be shown to the user + * + * The user gets to acknowledge and proceed or cancel the transaction. + * + * @sa proceed(), cancel() + */ + void proceedRequest(const QString &title, const QString &description); +}; + +#endif // ABSTRACTBACKENDUPDATER_H diff --git a/libdiscover/resources/AbstractKDEDModule.cpp b/libdiscover/resources/AbstractKDEDModule.cpp new file mode 100644 index 0000000..e69de29 diff --git a/libdiscover/resources/AbstractKDEDModule.h b/libdiscover/resources/AbstractKDEDModule.h new file mode 100644 index 0000000..e69de29 diff --git a/libdiscover/resources/AbstractResource.cpp b/libdiscover/resources/AbstractResource.cpp new file mode 100644 index 0000000..0ca116c --- /dev/null +++ b/libdiscover/resources/AbstractResource.cpp @@ -0,0 +1,253 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AbstractResource.h" +#include "AbstractResourcesBackend.h" +#include +#include +#include +#include +#include +#include +#include +#include "libdiscover_debug.h" + +AbstractResource::AbstractResource(AbstractResourcesBackend* parent) + : QObject(parent) +{ + connect(this, &AbstractResource::stateChanged, this, &AbstractResource::sizeChanged); + connect(this, &AbstractResource::stateChanged, this, &AbstractResource::reportNewState); +} + +AbstractResource::~AbstractResource() = default; + +QUrl AbstractResource::homepage() +{ + return QUrl(); +} + +QUrl AbstractResource::helpURL() +{ + return QUrl(); +} + +QUrl AbstractResource::bugURL() +{ + return QUrl(); +} + +QUrl AbstractResource::donationURL() +{ + return QUrl(); +} + +bool AbstractResource::isTechnical() const +{ + return false; +} + +void AbstractResource::addMetadata(const QString &key, const QJsonValue &value) +{ + m_metadata.insert(key, value); +} + +QJsonValue AbstractResource::getMetadata(const QString &key) +{ + return m_metadata.value(key); +} + +bool AbstractResource::canUpgrade() +{ + return state() == Upgradeable; +} + +bool AbstractResource::isInstalled() +{ + return state() >= Installed; +} + +void AbstractResource::fetchScreenshots() +{ + emit screenshotsFetched({}, {}); +} + +QStringList AbstractResource::mimetypes() const +{ + return QStringList(); +} + +AbstractResourcesBackend* AbstractResource::backend() const +{ + return static_cast(parent()); +} + +QString AbstractResource::status() +{ + switch(state()) { + case Broken: return i18n("Broken"); + case None: return i18n("Available"); + case Installed: return i18n("Installed"); + case Upgradeable: return i18n("Upgradeable"); + } + return QString(); +} + +QString AbstractResource::sizeDescription() +{ + return KFormat().formatByteSize(size()); +} + +QCollatorSortKey AbstractResource::nameSortKey() +{ + if (!m_collatorKey) { + m_collatorKey.reset(new QCollatorSortKey(QCollator().sortKey(name()))); + } + return *m_collatorKey; +} + +Rating* AbstractResource::rating() const +{ + AbstractReviewsBackend* ratings = backend()->reviewsBackend(); + return ratings ? ratings->ratingForApplication(const_cast(this)) : nullptr; +} + +QStringList AbstractResource::extends() const +{ + return {}; +} + +QString AbstractResource::appstreamId() const +{ + return {}; +} + +void AbstractResource::reportNewState() +{ + if (backend()->isFetching()) + return; + + static const QVector ns = {"state", "status", "canUpgrade", "size", "sizeDescription", "installedVersion", "availableVersion" }; + emit backend()->resourcesChanged(this, ns); +} + +static bool shouldFilter(AbstractResource* res, const QPair& filter) +{ + bool ret = true; + switch (filter.first) { + case CategoryFilter: + ret = res->categories().contains(filter.second); + break; + case PkgSectionFilter: + ret = res->section() == filter.second; + break; + case PkgWildcardFilter: { + QString wildcard = filter.second; + wildcard.remove(QLatin1Char('*')); + ret = res->packageName().contains(wildcard); + } break; + case AppstreamIdWildcardFilter: { + QString wildcard = filter.second; + wildcard.remove(QLatin1Char('*')); + ret = res->appstreamId().contains(wildcard); + } break; + case PkgNameFilter: // Only useful in the not filters + ret = res->packageName() == filter.second; + break; + case InvalidFilter: + break; + } + return ret; +} + +bool AbstractResource::categoryMatches(Category* cat) +{ + { + const auto orFilters = cat->orFilters(); + bool orValue = orFilters.isEmpty(); + for (const auto& filter: orFilters) { + if(shouldFilter(this, filter)) { + orValue = true; + break; + } + } + if(!orValue) + return false; + } + + Q_FOREACH (const auto &filter, cat->andFilters()) { + if(!shouldFilter(this, filter)) + return false; + } + + Q_FOREACH (const auto &filter, cat->notFilters()) { + if(shouldFilter(this, filter)) + return false; + } + return true; +} + +static QSet walkCategories(AbstractResource* res, const QVector& cats) +{ + QSet ret; + foreach (Category* cat, cats) { + if (res->categoryMatches(cat)) { + const auto subcats = walkCategories(res, cat->subCategories()); + if (subcats.isEmpty()) { + ret += cat; + } else { + ret += subcats; + } + } + } + + return ret; +} + +QSet AbstractResource::categoryObjects(const QVector& cats) const +{ + return walkCategories(const_cast(this), cats); +} + +QString AbstractResource::categoryDisplay() const +{ + const auto matchedCategories = categoryObjects(CategoryModel::global()->rootCategories()); + QStringList ret; + foreach(auto cat, matchedCategories) { + ret.append(cat->name()); + } + ret.sort(); + return ret.join(QStringLiteral(", ")); +} + +QUrl AbstractResource::url() const +{ + const QString asid = appstreamId(); + return asid.isEmpty() ? QUrl(backend()->name() + QStringLiteral("://") + packageName()) : QUrl(QStringLiteral("appstream://") + asid); +} + +QString AbstractResource::displayOrigin() const +{ + return i18nc("origin (backend name)", "%1 (%2)", origin(), backend()->displayName()); +} + +QString AbstractResource::executeLabel() const +{ + return i18n("Launch"); +} diff --git a/libdiscover/resources/AbstractResource.h b/libdiscover/resources/AbstractResource.h new file mode 100644 index 0000000..46772e6 --- /dev/null +++ b/libdiscover/resources/AbstractResource.h @@ -0,0 +1,238 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ABSTRACTRESOURCE_H +#define ABSTRACTRESOURCE_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "discovercommon_export.h" +#include "PackageState.h" + +class Category; +class Rating; +class AbstractResourcesBackend; + +/** + * \class AbstractResource AbstractResource.h "AbstractResource.h" + * + * \brief This is the base class of all resources. + * + * Each backend must reimplement its own resource class which needs to derive from this one. + */ +class DISCOVERCOMMON_EXPORT AbstractResource : public QObject +{ + Q_OBJECT + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QString packageName READ packageName CONSTANT) + Q_PROPERTY(QString comment READ comment CONSTANT) + Q_PROPERTY(QVariant icon READ icon NOTIFY iconChanged) + Q_PROPERTY(bool canExecute READ canExecute CONSTANT) + Q_PROPERTY(State state READ state NOTIFY stateChanged) + Q_PROPERTY(QString status READ status NOTIFY stateChanged) + Q_PROPERTY(QStringList category READ categories CONSTANT) + Q_PROPERTY(bool isTechnical READ isTechnical CONSTANT) + Q_PROPERTY(QUrl homepage READ homepage CONSTANT) + Q_PROPERTY(QUrl helpURL READ helpURL CONSTANT) + Q_PROPERTY(QUrl bugURL READ bugURL CONSTANT) + Q_PROPERTY(QUrl donationURL READ donationURL CONSTANT) + Q_PROPERTY(bool canUpgrade READ canUpgrade NOTIFY stateChanged) + Q_PROPERTY(bool isInstalled READ isInstalled NOTIFY stateChanged) + Q_PROPERTY(QString license READ license CONSTANT) + Q_PROPERTY(QString longDescription READ longDescription CONSTANT) + Q_PROPERTY(QString origin READ origin CONSTANT) + Q_PROPERTY(QString displayOrigin READ displayOrigin CONSTANT) + Q_PROPERTY(int size READ size NOTIFY sizeChanged) + Q_PROPERTY(QString sizeDescription READ sizeDescription NOTIFY sizeChanged) + Q_PROPERTY(QString installedVersion READ installedVersion NOTIFY stateChanged) + Q_PROPERTY(QString availableVersion READ availableVersion NOTIFY stateChanged) + Q_PROPERTY(QString section READ section CONSTANT) + Q_PROPERTY(QStringList mimetypes READ mimetypes CONSTANT) + Q_PROPERTY(AbstractResourcesBackend* backend READ backend CONSTANT) + Q_PROPERTY(Rating* rating READ rating NOTIFY ratingFetched) + Q_PROPERTY(QString appstreamId READ appstreamId CONSTANT) + Q_PROPERTY(QString categoryDisplay READ categoryDisplay CONSTANT) + Q_PROPERTY(QUrl url READ url CONSTANT) + Q_PROPERTY(QString executeLabel READ executeLabel CONSTANT) + Q_PROPERTY(QString sourceIcon READ sourceIcon CONSTANT) + Q_PROPERTY(QDate releaseDate READ releaseDate NOTIFY stateChanged) + public: + /** + * This describes the state of the resource + */ + enum State { + /** + * When the resource is somehow broken + */ + Broken, + /** + * This means that the resource is neither installed nor broken + */ + None, + /** + * The resource is installed and up-to-date + */ + Installed, + /** + * The resource is installed and an update is available + */ + Upgradeable + }; + Q_ENUM(State) + + /** + * Constructs the AbstractResource with its corresponding backend + */ + explicit AbstractResource(AbstractResourcesBackend* parent); + ~AbstractResource() override; + + ///used as internal identification of a resource + virtual QString packageName() const = 0; + + ///resource name to be displayed + virtual QString name() const = 0; + + ///short description of the resource + virtual QString comment() = 0; + + ///xdg-compatible icon name to represent the resource, url or QIcon + virtual QVariant icon() const = 0; + + ///@returns whether invokeApplication makes something + /// false if not overridden + virtual bool canExecute() const = 0; + + ///executes the resource, if applies. + Q_SCRIPTABLE virtual void invokeApplication() const = 0; + + virtual State state() = 0; + + virtual QStringList categories() = 0; + ///@returns a URL that points to the app's website + virtual QUrl homepage(); + ///@returns a URL that points to the app's online documentation + virtual QUrl helpURL(); + ///@returns a URL that points to the place where you can file a bug + virtual QUrl bugURL(); + ///@returns a URL that points to the place where you can donate money to the app developer + virtual QUrl donationURL(); + + virtual bool isTechnical() const; + + virtual int size() = 0; + virtual QString sizeDescription(); + virtual QString license() = 0; + + virtual QString installedVersion() const = 0; + virtual QString availableVersion() const = 0; + virtual QString longDescription() = 0; + + virtual QString origin() const = 0; + QString displayOrigin() const; + virtual QString section() = 0; + + ///@returns what kind of mime types the resource can consume + virtual QStringList mimetypes() const; + + virtual QList addonsInformation() = 0; + + virtual QStringList extends() const; + + virtual QString appstreamId() const; + + void addMetadata(const QString &key, const QJsonValue &value); + QJsonValue getMetadata(const QString &key); + + bool canUpgrade(); + bool isInstalled(); + + ///@returns a user-readable explaination of the resource status + ///by default, it will specify what state() is returning + virtual QString status(); + + AbstractResourcesBackend* backend() const; + + /** + * @returns a name sort key for faster sorting + */ + QCollatorSortKey nameSortKey(); + + /** + * Convenience method to fetch the resource's rating + * + * @returns the rating for the resource or null if not available + */ + Rating* rating() const; + + /** + * @returns a string defining the categories the resource belongs to + */ + QString categoryDisplay() const; + + bool categoryMatches(Category* cat); + + QSet categoryObjects(const QVector& cats) const; + + /** + * @returns a url that uniquely identifies the application + */ + virtual QUrl url() const; + + virtual QString executeLabel() const; + virtual QString sourceIcon() const = 0; + /** + * @returns the date of the resource's most recent release + */ + virtual QDate releaseDate() const = 0; + + public Q_SLOTS: + virtual void fetchScreenshots(); + virtual void fetchChangelog() = 0; + virtual void fetchUpdateDetails() { fetchChangelog(); } + + Q_SIGNALS: + void iconChanged(); + void sizeChanged(); + void stateChanged(); + void ratingFetched(); + + ///response to the fetchScreenshots method + ///@p thumbnails and @p screenshots should have the same number of elements + void screenshotsFetched(const QList& thumbnails, const QList& screenshots); + void changelogFetched(const QString& changelog); + + private: + void reportNewState(); + +// TODO: make it std::optional or make QCollatorSortKey() + QScopedPointer m_collatorKey; + QJsonObject m_metadata; +}; + +Q_DECLARE_METATYPE(QVector) + +#endif // ABSTRACTRESOURCE_H diff --git a/libdiscover/resources/AbstractResourcesBackend.cpp b/libdiscover/resources/AbstractResourcesBackend.cpp new file mode 100644 index 0000000..e5d56e2 --- /dev/null +++ b/libdiscover/resources/AbstractResourcesBackend.cpp @@ -0,0 +1,136 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AbstractResourcesBackend.h" +#include "AbstractResource.h" +#include "Category/Category.h" +#include +#include +#include +#include "libdiscover_debug.h" +#include + +QDebug operator<<(QDebug debug, const AbstractResourcesBackend::Filters& filters) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "Filters("; + if (filters.category) debug.nospace() << "category: " << filters.category << ','; + if (filters.state) debug.nospace() << "state: " << filters.state << ','; + if (!filters.mimetype.isEmpty()) debug.nospace() << "mimetype: " << filters.mimetype << ','; + if (!filters.search.isEmpty()) debug.nospace() << "search: " << filters.search << ','; + if (!filters.extends.isEmpty()) debug.nospace() << "extends:" << filters.extends << ','; + if (!filters.origin.isEmpty()) debug.nospace() << "origin:" << filters.origin << ','; + if (!filters.resourceUrl.isEmpty()) debug.nospace() << "resourceUrl:" << filters.resourceUrl << ','; + debug.nospace() << ')'; + + return debug; +} + +ResultsStream::ResultsStream(const QString &objectName, const QVector& resources) + : ResultsStream(objectName) +{ + Q_ASSERT(!resources.contains(nullptr)); + QTimer::singleShot(0, this, [resources, this] () { + if (!resources.isEmpty()) + Q_EMIT resourcesFound(resources); + finish(); + }); +} + +ResultsStream::ResultsStream(const QString &objectName) +{ + setObjectName(objectName); + QTimer::singleShot(5000, this, [objectName]() { qCDebug(LIBDISCOVER_LOG) << "stream took really long" << objectName; }); +} + +ResultsStream::~ResultsStream() +{ +} + +void ResultsStream::finish() +{ + deleteLater(); +} + +AbstractResourcesBackend::AbstractResourcesBackend(QObject* parent) + : QObject(parent) +{ +} + +Transaction* AbstractResourcesBackend::installApplication(AbstractResource* app) +{ + return installApplication(app, AddonList()); +} + +void AbstractResourcesBackend::setName(const QString& name) +{ + m_name = name; +} + +QString AbstractResourcesBackend::name() const +{ + return m_name; +} + +void AbstractResourcesBackend::emitRatingsReady() +{ + emit allDataChanged({ "rating", "ratingPoints", "ratingCount", "sortableRating" }); +} + +bool AbstractResourcesBackend::Filters::shouldFilter(AbstractResource* res) const +{ + Q_ASSERT(res); + + if(!extends.isEmpty() && !res->extends().contains(extends)) { + return false; + } + if(!resourceUrl.isEmpty() && res->url() != resourceUrl) { + return false; + } + + if(!origin.isEmpty() && res->origin() != origin) { + return false; + } + + if(filterMinimumState ? (res->state() < state) : (res->state() != state)) { + return false; + } + + if(!mimetype.isEmpty() && !res->mimetypes().contains(mimetype)) { + return false; + } + + return !category || res->categoryMatches(category); +} + +void AbstractResourcesBackend::Filters::filterJustInCase(QVector& input) const +{ + for(auto it = input.begin(); it != input.end();) { + if (shouldFilter(*it)) + ++it; + else + it = input.erase(it); + } +} + +QStringList AbstractResourcesBackend::extends() const +{ + return {}; +} diff --git a/libdiscover/resources/AbstractResourcesBackend.h b/libdiscover/resources/AbstractResourcesBackend.h new file mode 100644 index 0000000..a2c2cea --- /dev/null +++ b/libdiscover/resources/AbstractResourcesBackend.h @@ -0,0 +1,257 @@ +/*************************************************************************** + * Copyright ?? 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ABSTRACTRESOURCESBACKEND_H +#define ABSTRACTRESOURCESBACKEND_H + +#include +#include +#include + +#include "AbstractResource.h" +#include "Transaction/AddonList.h" + +#include "discovercommon_export.h" + +class Transaction; +class Category; +class AbstractReviewsBackend; +class AbstractBackendUpdater; + +class DISCOVERCOMMON_EXPORT ResultsStream : public QObject +{ + Q_OBJECT + public: + ResultsStream(const QString &objectName); + + /// assumes all the information is in @p resources + ResultsStream(const QString &objectName, const QVector& resources); + ~ResultsStream() override; + + void finish(); + + Q_SIGNALS: + void resourcesFound(const QVector& resources); +}; + +/** + * \class AbstractResourcesBackend AbstractResourcesBackend.h "AbstractResourcesBackend.h" + * + * \brief This is the base class of all resource backends. + * + * For writing basic new resource backends, we need to implement two classes: this and the + * AbstractResource one. Basic questions on how to build your plugin with those classes + * can be answered by looking at the dummy plugin. + * + * As this is the base class of a backend, we save all the created resources here and also + * accept calls to install and remove applications or to cancel transactions. + * + * To show resources in Muon, we need to initialize all resources we want to show beforehand, + * we should not create resources in the search function. When we reload the resources + * (e.g. when initializing), the backend needs change the fetching property throughout the + * processs. + */ +class DISCOVERCOMMON_EXPORT AbstractResourcesBackend : public QObject +{ + Q_OBJECT + Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QString displayName READ displayName CONSTANT) + Q_PROPERTY(AbstractReviewsBackend* reviewsBackend READ reviewsBackend CONSTANT) + Q_PROPERTY(int updatesCount READ updatesCount NOTIFY updatesCountChanged) + Q_PROPERTY(bool hasSecurityUpdates READ hasSecurityUpdates NOTIFY updatesCountChanged) + Q_PROPERTY(bool isFetching READ isFetching NOTIFY fetchingChanged) + Q_PROPERTY(bool hasApplications READ hasApplications CONSTANT) + public: + /** + * Constructs an AbstractResourcesBackend + * @param parent the parent of the class (the object will be deleted when the parent gets deleted) + */ + explicit AbstractResourcesBackend(QObject* parent = nullptr); + + /** + * @returns true when the backend is in a valid state, which means it is able to work + * You must return true here if you want the backend to be loaded. + */ + virtual bool isValid() const = 0; + + struct Filters { + Category* category = nullptr; + AbstractResource::State state = AbstractResource::Broken; + QString mimetype; + QString search; + QString extends; + QUrl resourceUrl; + QString origin; + bool allBackends = false; + bool filterMinimumState = true; + + bool isEmpty() const { return !category && state == AbstractResource::Broken && mimetype.isEmpty() && search.isEmpty() && extends.isEmpty() && resourceUrl.isEmpty() && origin.isEmpty(); } + + bool shouldFilter(AbstractResource* res) const; + void filterJustInCase(QVector& input) const; + }; + + /** + * @returns a stream that will provide elements that match the search + */ + + virtual ResultsStream* search(const Filters &search) = 0;//FIXME: Probably provide a standard implementation?! + + /** + * @returns the reviews backend of this AbstractResourcesBackend (which handles all ratings and reviews of resources) + */ + virtual AbstractReviewsBackend* reviewsBackend() const = 0;//FIXME: Have a standard impl which returns 0? + + /** + * @returns the class which is used by muon to update the users system, if you are unsure what to do + * just return the StandardBackendUpdater + */ + virtual AbstractBackendUpdater* backendUpdater() const = 0;//FIXME: Standard impl returning the standard updater? + + /** + * @returns the number of resources for which an update is available, it should only count technical packages + */ + virtual int updatesCount() const = 0;//FIXME: Probably provide a standard implementation?! + + /** + * @returns whether either of the updates contains a security fix + */ + virtual bool hasSecurityUpdates() const { return false; } + + /** + * Tells whether the backend is fetching resources + */ + virtual bool isFetching() const = 0; + + /** + * @returns the appstream ids that this backend extends + */ + virtual QStringList extends() const; + + /** @returns the plugin's name */ + QString name() const; + + /** @internal only to be used by the factory */ + void setName(const QString& name); + + virtual QString displayName() const = 0; + + /** + * emits a change for all rating properties + */ + void emitRatingsReady(); + + virtual AbstractResource* resourceForFile(const QUrl &/*url*/) { return nullptr; } + + /** + * @returns the root category tree + */ + virtual QVector category() const { return {}; } + + virtual bool hasApplications() const { return false; } + + public Q_SLOTS: + /** + * This gets called when the backend should install an application. + * The AbstractResourcesBackend should create a Transaction object, is returned and + * will be included in the TransactionModel + * @param app the application to be installed + * @param addons the addons which should be installed with the application + * @returns the Transaction that keeps track of the installation process + */ + virtual Transaction* installApplication(AbstractResource *app, const AddonList& addons) = 0; + + /** + * Overloaded function, which simply does the same, except not installing any addons. + */ + virtual Transaction* installApplication(AbstractResource *app); + + /** + * This gets called when the backend should remove an application. + * Like in the installApplication() method, we'll return the Transaction + * responsible for the removal. + * + * @see installApplication + * @param app the application to be removed + * @returns the Transaction that keeps track of the removal process + */ + virtual Transaction* removeApplication(AbstractResource *app) = 0; + + /** + * Notifies the backend that the user wants the information to be up to date + */ + virtual void checkForUpdates() = 0; + + Q_SIGNALS: + /** + * Notify of a change in the backend + */ + void fetchingChanged(); + + /** + * This should be emitted when the number of upgradeable packages changed. + */ + void updatesCountChanged(); + /** + * This should be emitted when all data of the backends resources changed. Internally it will emit + * a signal in the model to show the view that all data of a certain backend changed. + */ + void allDataChanged(const QVector &propertyNames); + + /** + * Allows to notify some @p properties in @p resource have changed + */ + void resourcesChanged(AbstractResource* resource, const QVector &properties); + void resourceRemoved(AbstractResource* resource); + + void passiveMessage(const QString &message); + + private: + QString m_name; +}; + +DISCOVERCOMMON_EXPORT QDebug operator<<(QDebug dbg, const AbstractResourcesBackend::Filters& filters); + +/** + * @internal Workaround because QPluginLoader enforces 1 instance per plugin + */ +class DISCOVERCOMMON_EXPORT AbstractResourcesBackendFactory : public QObject +{ + Q_OBJECT +public: + virtual QVector newInstance(QObject* parent, const QString &name) const = 0; +}; + +#define DISCOVER_BACKEND_PLUGIN(ClassName)\ + class ClassName##Factory : public AbstractResourcesBackendFactory {\ + Q_OBJECT\ + Q_PLUGIN_METADATA(IID "org.kde.muon.AbstractResourcesBackendFactory")\ + Q_INTERFACES(AbstractResourcesBackendFactory)\ + public:\ + QVector newInstance(QObject* parent, const QString &name) const override {\ + auto c = new ClassName(parent);\ + c->setName(name);\ + return {c};\ + }\ + }; + +Q_DECLARE_INTERFACE( AbstractResourcesBackendFactory, "org.kde.muon.AbstractResourcesBackendFactory" ) + +#endif // ABSTRACTRESOURCESBACKEND_H diff --git a/libdiscover/resources/AbstractSourcesBackend.cpp b/libdiscover/resources/AbstractSourcesBackend.cpp new file mode 100644 index 0000000..d3d23b5 --- /dev/null +++ b/libdiscover/resources/AbstractSourcesBackend.cpp @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "AbstractSourcesBackend.h" +#include "AbstractResourcesBackend.h" +#include + +AbstractSourcesBackend::AbstractSourcesBackend(AbstractResourcesBackend* parent) + : QObject(parent) +{} + +AbstractSourcesBackend::~AbstractSourcesBackend() = default; + +AbstractResourcesBackend * AbstractSourcesBackend::resourcesBackend() const +{ + return dynamic_cast(parent()); +} + + +bool AbstractSourcesBackend::moveSource(const QString& sourceId, int delta) +{ + Q_UNUSED(sourceId) + Q_UNUSED(delta) + return false; +} + +QString AbstractSourcesBackend::firstSourceId() const +{ + auto m = const_cast(this)->sources(); + return m->index(0, 0).data(AbstractSourcesBackend::IdRole).toString(); +} + +QString AbstractSourcesBackend::lastSourceId() const +{ + auto m = const_cast(this)->sources(); + return m->index(m->rowCount()-1, 0).data(AbstractSourcesBackend::IdRole).toString(); +} diff --git a/libdiscover/resources/AbstractSourcesBackend.h b/libdiscover/resources/AbstractSourcesBackend.h new file mode 100644 index 0000000..a6011ee --- /dev/null +++ b/libdiscover/resources/AbstractSourcesBackend.h @@ -0,0 +1,83 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef ABSTRACTSOURCESMANAGER_H +#define ABSTRACTSOURCESMANAGER_H + +#include +#include "discovercommon_export.h" + +class QAction; +class QAbstractItemModel; +class AbstractResourcesBackend; + +class DISCOVERCOMMON_EXPORT AbstractSourcesBackend : public QObject +{ + Q_OBJECT + Q_PROPERTY(AbstractResourcesBackend* resourcesBackend READ resourcesBackend CONSTANT) + Q_PROPERTY(QAbstractItemModel* sources READ sources CONSTANT) + Q_PROPERTY(QString idDescription READ idDescription CONSTANT) + Q_PROPERTY(QList actions READ actions CONSTANT) + Q_PROPERTY(bool supportsAdding READ supportsAdding CONSTANT) + Q_PROPERTY(bool canMoveSources READ canMoveSources CONSTANT) + Q_PROPERTY(bool canFilterSources READ canFilterSources CONSTANT) + Q_PROPERTY(QString firstSourceId READ firstSourceId NOTIFY firstSourceIdChanged) + Q_PROPERTY(QString lastSourceId READ lastSourceId NOTIFY lastSourceIdChanged) + public: + explicit AbstractSourcesBackend(AbstractResourcesBackend* parent); + ~AbstractSourcesBackend() override; + + enum Roles { + IdRole = Qt::UserRole, + LastRole + }; + Q_ENUM(Roles) + + virtual QString idDescription() = 0; + + Q_SCRIPTABLE virtual bool addSource(const QString& id) = 0; + Q_SCRIPTABLE virtual bool removeSource(const QString& id) = 0; + + virtual QAbstractItemModel* sources() = 0; + virtual QList actions() const = 0; + + virtual bool supportsAdding() const = 0; + + AbstractResourcesBackend* resourcesBackend() const; + + virtual bool canFilterSources() const { return false; } + virtual bool canMoveSources() const { return false; } + Q_SCRIPTABLE virtual bool moveSource(const QString &sourceId, int delta); + + QString firstSourceId() const; + QString lastSourceId() const; + + public Q_SLOTS: + virtual void cancel() {} + virtual void proceed() {} + + Q_SIGNALS: + void firstSourceIdChanged(); + void lastSourceIdChanged(); + void passiveMessage(const QString &message); + void proceedRequest(const QString &title, const QString &description); +}; + +#endif // ABSTRACTRESOURCESBACKEND_H diff --git a/libdiscover/resources/PackageState.cpp b/libdiscover/resources/PackageState.cpp new file mode 100644 index 0000000..6f69a7c --- /dev/null +++ b/libdiscover/resources/PackageState.cpp @@ -0,0 +1,68 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "PackageState.h" +#include "libdiscover_debug.h" + +PackageState::PackageState(QString name, QString description, bool installed) + : PackageState(name, name, description, installed) +{} + +PackageState::PackageState(QString packageName, QString name, QString description, bool installed) + : m_packageName(std::move(packageName)) + , m_name(std::move(name)) + , m_description(std::move(description)) + , m_installed(installed) +{} + +QString PackageState::name() const +{ + return m_name; +} + +QString PackageState::description() const +{ + return m_description; +} + +QString PackageState::packageName() const +{ + return m_packageName; +} + +bool PackageState::isInstalled() const +{ + return m_installed; +} + +void PackageState::setInstalled(bool installed) +{ + m_installed = installed; +} + +QDebug operator<<(QDebug debug, const PackageState& state) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "PackageState("; + debug.nospace() << state.name() << ':'; + debug.nospace() << "installed: " << state.isInstalled() << ','; + debug.nospace() << ')'; + return debug; +} diff --git a/libdiscover/resources/PackageState.h b/libdiscover/resources/PackageState.h new file mode 100644 index 0000000..bf62c4c --- /dev/null +++ b/libdiscover/resources/PackageState.h @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef PACKAGESTATE_H +#define PACKAGESTATE_H + +#include +#include "discovercommon_export.h" + +/** + * The @class PackageState will be used to expose resources related to an @class AbstractResource. + * + * @see ApplicationAddonsModel + */ +class DISCOVERCOMMON_EXPORT PackageState +{ + public: + PackageState(QString packageName, QString name, QString description, bool installed); + PackageState(QString name, QString description, bool installed); + PackageState& operator=(const PackageState& other); + + QString packageName() const; + QString name() const; + QString description() const; + bool isInstalled() const; + void setInstalled(bool installed); + + private: + const QString m_packageName; + const QString m_name; + const QString m_description; + bool m_installed; +}; + +DISCOVERCOMMON_EXPORT QDebug operator<<(QDebug dbg, const PackageState &state); + +#endif // PACKAGESTATE_H diff --git a/libdiscover/resources/ResourcesModel.cpp b/libdiscover/resources/ResourcesModel.cpp new file mode 100644 index 0000000..849ba56 --- /dev/null +++ b/libdiscover/resources/ResourcesModel.cpp @@ -0,0 +1,399 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "ResourcesModel.h" + +#include "AbstractResource.h" +#include "resources/AbstractResourcesBackend.h" +#include "resources/AbstractBackendUpdater.h" +#include +#include +#include +#include +#include "Transaction/TransactionModel.h" +#include "Category/CategoryModel.h" +#include "utils.h" +#include "libdiscover_debug.h" +#include +#include +#include +#include +#include +#include +#include + +ResourcesModel *ResourcesModel::s_self = nullptr; + +ResourcesModel *ResourcesModel::global() +{ + if(!s_self) + s_self = new ResourcesModel; + return s_self; +} + +ResourcesModel::ResourcesModel(QObject* parent, bool load) + : QObject(parent) + , m_isFetching(false) + , m_initializingBackends(0) + , m_currentApplicationBackend(nullptr) +{ + init(load); + connect(this, &ResourcesModel::allInitialized, this, &ResourcesModel::slotFetching); + connect(this, &ResourcesModel::backendsChanged, this, &ResourcesModel::initApplicationsBackend); +} + +void ResourcesModel::init(bool load) +{ + Q_ASSERT(!s_self); + Q_ASSERT(QCoreApplication::instance()->thread()==QThread::currentThread()); + + if(load) + QMetaObject::invokeMethod(this, "registerAllBackends", Qt::QueuedConnection); + + + m_updateAction = new QAction(this); + m_updateAction->setIcon(QIcon::fromTheme(QStringLiteral("system-software-update"))); + m_updateAction->setText(i18nc("@action Checks the Internet for updates", "Check for Updates")); + m_updateAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R)); + connect(this, &ResourcesModel::fetchingChanged, m_updateAction, [this](bool fetching) { + m_updateAction->setEnabled(!fetching); + }); + connect(m_updateAction, &QAction::triggered, this, &ResourcesModel::checkForUpdates); + + connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, this, &QObject::deleteLater); +} + +ResourcesModel::ResourcesModel(const QString& backendName, QObject* parent) + : ResourcesModel(parent, false) +{ + s_self = this; + registerBackendByName(backendName); +} + +ResourcesModel::~ResourcesModel() +{ + s_self = nullptr; + qDeleteAll(m_backends); +} + +void ResourcesModel::addResourcesBackend(AbstractResourcesBackend* backend) +{ + Q_ASSERT(!m_backends.contains(backend)); + if(!backend->isValid()) { + qCWarning(LIBDISCOVER_LOG) << "Discarding invalid backend" << backend->name(); + CategoryModel::global()->blacklistPlugin(backend->name()); + backend->deleteLater(); + return; + } + + m_backends += backend; + if(!backend->isFetching()) { + if (backend->updatesCount() > 0) + emit updatesCountChanged(); + } else { + m_initializingBackends++; + } + + connect(backend, &AbstractResourcesBackend::fetchingChanged, this, &ResourcesModel::callerFetchingChanged); + connect(backend, &AbstractResourcesBackend::allDataChanged, this, &ResourcesModel::updateCaller); + connect(backend, &AbstractResourcesBackend::resourcesChanged, this, &ResourcesModel::resourceDataChanged); + connect(backend, &AbstractResourcesBackend::updatesCountChanged, this, &ResourcesModel::updatesCountChanged); + connect(backend, &AbstractResourcesBackend::resourceRemoved, this, &ResourcesModel::resourceRemoved); + connect(backend, &AbstractResourcesBackend::passiveMessage, this, &ResourcesModel::passiveMessage); + connect(backend->backendUpdater(), &AbstractBackendUpdater::progressingChanged, this, &ResourcesModel::slotFetching); + + if(m_initializingBackends==0) + emit allInitialized(); + else + slotFetching(); +} + +void ResourcesModel::callerFetchingChanged() +{ + AbstractResourcesBackend* backend = qobject_cast(sender()); + + if (!backend->isValid()) { + qCWarning(LIBDISCOVER_LOG) << "Discarding invalid backend" << backend->name(); + int idx = m_backends.indexOf(backend); + Q_ASSERT(idx>=0); + m_backends.removeAt(idx); + Q_EMIT backendsChanged(); + CategoryModel::global()->blacklistPlugin(backend->name()); + backend->deleteLater(); + slotFetching(); + return; + } + + if(backend->isFetching()) { + m_initializingBackends++; + slotFetching(); + } else { + m_initializingBackends--; + if(m_initializingBackends==0) + emit allInitialized(); + else + slotFetching(); + } +} + +void ResourcesModel::updateCaller(const QVector& properties) +{ + AbstractResourcesBackend* backend = qobject_cast(sender()); + + Q_EMIT backendDataChanged(backend, properties); +} + +QVector< AbstractResourcesBackend* > ResourcesModel::backends() const +{ + return m_backends; +} + +int ResourcesModel::updatesCount() const +{ + int ret = 0; + + foreach(AbstractResourcesBackend* backend, m_backends) { + ret += backend->updatesCount(); + } + + return ret; +} + +bool ResourcesModel::hasSecurityUpdates() const +{ + bool ret = false; + + foreach(AbstractResourcesBackend* backend, m_backends) { + ret |= backend->hasSecurityUpdates(); + } + + return ret; +} + +void ResourcesModel::installApplication(AbstractResource* app) +{ + TransactionModel::global()->addTransaction(app->backend()->installApplication(app)); +} + +void ResourcesModel::installApplication(AbstractResource* app, const AddonList& addons) +{ + TransactionModel::global()->addTransaction(app->backend()->installApplication(app, addons)); +} + +void ResourcesModel::removeApplication(AbstractResource* app) +{ + TransactionModel::global()->addTransaction(app->backend()->removeApplication(app)); +} + +void ResourcesModel::registerAllBackends() +{ + DiscoverBackendsFactory f; + const auto backends = f.allBackends(); + if(m_initializingBackends==0 && backends.isEmpty()) { + qCWarning(LIBDISCOVER_LOG) << "Couldn't find any backends"; + emit allInitialized(); + } else { + foreach(AbstractResourcesBackend* b, backends) { + addResourcesBackend(b); + } + emit backendsChanged(); + } +} + +void ResourcesModel::registerBackendByName(const QString& name) +{ + DiscoverBackendsFactory f; + const auto backends = f.backend(name); + for(auto b : backends) + addResourcesBackend(b); + + emit backendsChanged(); +} + +bool ResourcesModel::isFetching() const +{ + return m_isFetching; +} + +void ResourcesModel::slotFetching() +{ + bool newFetching = false; + foreach(AbstractResourcesBackend* b, m_backends) { + // isFetching should sort of be enough. However, sometimes the backend itself + // will still be operating on things, which from a model point of view would + // still mean something going on. So, interpret that as fetching as well, for + // the purposes of this property. + if(b->isFetching() || (b->backendUpdater() && b->backendUpdater()->isProgressing())) { + newFetching = true; + break; + } + } + if (newFetching != m_isFetching) { + m_isFetching = newFetching; + Q_EMIT fetchingChanged(m_isFetching); + } +} + +bool ResourcesModel::isBusy() const +{ + return TransactionModel::global()->rowCount() > 0; +} + +bool ResourcesModel::isExtended(const QString& id) +{ + bool ret = true; + foreach (AbstractResourcesBackend* backend, m_backends) { + ret = backend->extends().contains(id); + if (ret) + break; + } + return ret; +} + +AggregatedResultsStream::AggregatedResultsStream(const QSet& streams) + : ResultsStream(QStringLiteral("AggregatedResultsStream")) +{ + Q_ASSERT(!streams.contains(nullptr)); + if (streams.isEmpty()) { + qCWarning(LIBDISCOVER_LOG) << "no streams to aggregate!!"; + QTimer::singleShot(0, this, &AggregatedResultsStream::clear); + } + + for (auto stream: streams) { + connect(stream, &ResultsStream::resourcesFound, this, &AggregatedResultsStream::addResults); + connect(stream, &QObject::destroyed, this, &AggregatedResultsStream::destruction); + m_streams << stream; + } + + m_delayedEmission.setInterval(0); + connect(&m_delayedEmission, &QTimer::timeout, this, &AggregatedResultsStream::emitResults); +} + +AggregatedResultsStream::~AggregatedResultsStream() = default; + +void AggregatedResultsStream::addResults(const QVector& res) +{ + for(auto r : res) + connect(r, &QObject::destroyed, this, [this, r](){ + m_results.removeAll(r); + }); + + m_results += res; + + m_delayedEmission.start(); +} + +void AggregatedResultsStream::emitResults() +{ + if (!m_results.isEmpty()) { + Q_EMIT resourcesFound(m_results); + m_results.clear(); + } + m_delayedEmission.setInterval(m_delayedEmission.interval() + 100); + m_delayedEmission.stop(); +} + +void AggregatedResultsStream::destruction(QObject* obj) +{ + m_streams.remove(obj); + clear(); +} + +void AggregatedResultsStream::clear() +{ + if (m_streams.isEmpty()) { + emitResults(); + Q_EMIT finished(); + deleteLater(); + } +} + +AggregatedResultsStream* ResourcesModel::search(const AbstractResourcesBackend::Filters& search) +{ + if (search.isEmpty()) { + return new AggregatedResultsStream ({new ResultsStream(QStringLiteral("emptysearch"), {})}); + } + + auto streams = kTransform>(m_backends, [search](AbstractResourcesBackend* backend){ return backend->search(search); }); + return new AggregatedResultsStream(streams); +} + +AbstractResource* ResourcesModel::resourceForFile(const QUrl& file) +{ + AbstractResource* ret = nullptr; + foreach(auto backend, m_backends) { + ret = backend->resourceForFile(file); + if (ret) + break; + } + return ret; +} + +void ResourcesModel::checkForUpdates() +{ + for(auto backend: qAsConst(m_backends)) + backend->checkForUpdates(); +} + +QVector ResourcesModel::applicationBackends() const +{ + return kFilter>(m_backends, [](AbstractResourcesBackend* b){ return b->hasApplications(); }); +} + +QVariantList ResourcesModel::applicationBackendsVariant() const +{ + return kTransform(applicationBackends(), [](AbstractResourcesBackend* b) {return QVariant::fromValue(b);}); +} + +AbstractResourcesBackend* ResourcesModel::currentApplicationBackend() const +{ + return m_currentApplicationBackend; +} + +void ResourcesModel::setCurrentApplicationBackend(AbstractResourcesBackend* backend, bool write) +{ + if (backend != m_currentApplicationBackend) { + if (write) { + KConfigGroup settings(KSharedConfig::openConfig(), "ResourcesModel"); + if (backend) + settings.writeEntry("currentApplicationBackend", backend->name()); + else + settings.deleteEntry("currentApplicationBackend"); + } + + qCDebug(LIBDISCOVER_LOG) << "setting currentApplicationBackend" << backend; + m_currentApplicationBackend = backend; + Q_EMIT currentApplicationBackendChanged(backend); + } +} + +void ResourcesModel::initApplicationsBackend() +{ + KConfigGroup settings(KSharedConfig::openConfig(), "ResourcesModel"); + const QString name = settings.readEntry("currentApplicationBackend", QStringLiteral("packagekit-backend")); + + const auto backends = applicationBackends(); + auto idx = kIndexOf(backends, [name](AbstractResourcesBackend* b) { return b->name() == name; }); + if (idx<0) { + idx = kIndexOf(backends, [](AbstractResourcesBackend* b) { return b->hasApplications(); }); + qCDebug(LIBDISCOVER_LOG) << "falling back applications backend to" << idx; + } + setCurrentApplicationBackend(backends.value(idx, nullptr), false); +} diff --git a/libdiscover/resources/ResourcesModel.h b/libdiscover/resources/ResourcesModel.h new file mode 100644 index 0000000..d15955d --- /dev/null +++ b/libdiscover/resources/ResourcesModel.h @@ -0,0 +1,130 @@ +/*************************************************************************** + * Copyright ?? 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef RESOURCESMODEL_H +#define RESOURCESMODEL_H + +#include +#include +#include + +#include "discovercommon_export.h" +#include "AbstractResourcesBackend.h" + +class QAction; + +class DISCOVERCOMMON_EXPORT AggregatedResultsStream : public ResultsStream +{ +Q_OBJECT +public: + AggregatedResultsStream(const QSet& streams); + ~AggregatedResultsStream(); + +Q_SIGNALS: + void finished(); + +private: + void addResults(const QVector& res); + void emitResults(); + void destruction(QObject* obj); + void clear(); + + QSet m_streams; + QVector m_results; + QTimer m_delayedEmission; +}; + +class DISCOVERCOMMON_EXPORT ResourcesModel : public QObject +{ + Q_OBJECT + Q_PROPERTY(int updatesCount READ updatesCount NOTIFY updatesCountChanged) + Q_PROPERTY(bool hasSecurityUpdates READ hasSecurityUpdates NOTIFY updatesCountChanged) + Q_PROPERTY(bool isFetching READ isFetching NOTIFY fetchingChanged) + Q_PROPERTY(QVariantList applicationBackends READ applicationBackendsVariant NOTIFY backendsChanged) + Q_PROPERTY(AbstractResourcesBackend* currentApplicationBackend READ currentApplicationBackend WRITE setCurrentApplicationBackend NOTIFY currentApplicationBackendChanged) + Q_PROPERTY(QAction* updateAction READ updateAction CONSTANT) + public: + /** This constructor should be only used by unit tests. + * @p backendName defines what backend will be loaded when the backend is constructed. + */ + explicit ResourcesModel(const QString& backendName, QObject* parent = nullptr); + static ResourcesModel* global(); + ~ResourcesModel() override; + + QVector< AbstractResourcesBackend* > backends() const; + int updatesCount() const; + bool hasSecurityUpdates() const; + + bool isBusy() const; + bool isFetching() const; + + Q_SCRIPTABLE bool isExtended(const QString &id); + + AggregatedResultsStream* search(const AbstractResourcesBackend::Filters &search); + AbstractResource* resourceForFile(const QUrl &/*url*/); + void checkForUpdates(); + + QVariantList applicationBackendsVariant() const; + QVector applicationBackends() const; + void setCurrentApplicationBackend(AbstractResourcesBackend* backend, bool writeConfig = true); + AbstractResourcesBackend* currentApplicationBackend() const; + + QAction* updateAction() const { return m_updateAction; } + + public Q_SLOTS: + void installApplication(AbstractResource* app, const AddonList& addons); + void installApplication(AbstractResource* app); + void removeApplication(AbstractResource* app); + + Q_SIGNALS: + void fetchingChanged(bool isFetching); + void allInitialized(); + void backendsChanged(); + void updatesCountChanged(); + void backendDataChanged(AbstractResourcesBackend* backend, const QVector& properties); + void resourceDataChanged(AbstractResource* resource, const QVector& properties); + void resourceRemoved(AbstractResource* resource); + void passiveMessage(const QString &message); + void currentApplicationBackendChanged(AbstractResourcesBackend* currentApplicationBackend); + + private Q_SLOTS: + void callerFetchingChanged(); + void updateCaller(const QVector& properties); + void registerAllBackends(); + + private: + ///@p initialize tells if all backends load will be triggered on construction + explicit ResourcesModel(QObject* parent=nullptr, bool load = true); + void init(bool load); + void addResourcesBackend(AbstractResourcesBackend* backend); + void registerBackendByName(const QString& name); + void initApplicationsBackend(); + void slotFetching(); + + bool m_isFetching; + QVector< AbstractResourcesBackend* > m_backends; + int m_initializingBackends; + QAction* m_updateAction = nullptr; + AbstractResourcesBackend* m_currentApplicationBackend; + + static ResourcesModel* s_self; +}; + +#endif // RESOURCESMODEL_H diff --git a/libdiscover/resources/ResourcesProxyModel.cpp b/libdiscover/resources/ResourcesProxyModel.cpp new file mode 100644 index 0000000..da15466 --- /dev/null +++ b/libdiscover/resources/ResourcesProxyModel.cpp @@ -0,0 +1,588 @@ +/*************************************************************************** + * Copyright © 2010 Jonathan Thomas * + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "ResourcesProxyModel.h" + +#include "libdiscover_debug.h" +#include +#include + +#include "ResourcesModel.h" +#include "AbstractResource.h" +#include "AbstractResourcesBackend.h" +#include +#include +#include + +ResourcesProxyModel::ResourcesProxyModel(QObject *parent) + : QAbstractListModel(parent) + , m_sortRole(NameRole) + , m_sortOrder(Qt::AscendingOrder) + , m_sortByRelevancy(false) + , m_roles({ + { NameRole, "name" }, + { IconRole, "icon" }, + { CommentRole, "comment" }, + { StateRole, "state" }, + { RatingRole, "rating" }, + { RatingPointsRole, "ratingPoints" }, + { RatingCountRole, "ratingCount" }, + { SortableRatingRole, "sortableRating" }, + { InstalledRole, "isInstalled" }, + { ApplicationRole, "application" }, + { OriginRole, "origin" }, + { DisplayOriginRole, "displayOrigin" }, + { CanUpgrade, "canUpgrade" }, + { PackageNameRole, "packageName" }, + { IsTechnicalRole, "isTechnical" }, + { CategoryRole, "category" }, + { CategoryDisplayRole, "categoryDisplay" }, + { SectionRole, "section" }, + { MimeTypes, "mimetypes" }, + { LongDescriptionRole, "longDescription" }, + { SourceIconRole, "sourceIcon" }, + { SizeRole, "size" }, + { ReleaseDateRole, "releaseDate" } + }) + , m_currentStream(nullptr) +{ +// new ModelTest(this, this); + + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &ResourcesProxyModel::invalidateFilter); + connect(ResourcesModel::global(), &ResourcesModel::backendDataChanged, this, &ResourcesProxyModel::refreshBackend); + connect(ResourcesModel::global(), &ResourcesModel::resourceDataChanged, this, &ResourcesProxyModel::refreshResource); + connect(ResourcesModel::global(), &ResourcesModel::resourceRemoved, this, &ResourcesProxyModel::removeResource); + + connect(this, &QAbstractItemModel::modelReset, this, &ResourcesProxyModel::countChanged); + connect(this, &QAbstractItemModel::rowsInserted, this, &ResourcesProxyModel::countChanged); + connect(this, &QAbstractItemModel::rowsRemoved, this, &ResourcesProxyModel::countChanged); +} + +void ResourcesProxyModel::componentComplete() +{ + m_setup = true; + invalidateFilter(); +} + +QHash ResourcesProxyModel::roleNames() const +{ + return m_roles; +} + +void ResourcesProxyModel::setSortRole(Roles sortRole) +{ + if (sortRole != m_sortRole) { + Q_ASSERT(roleNames().contains(sortRole)); + + m_sortRole = sortRole; + Q_EMIT sortRoleChanged(sortRole); + invalidateSorting(); + } +} + +void ResourcesProxyModel::setSortOrder(Qt::SortOrder sortOrder) +{ + if (sortOrder != m_sortOrder) { + m_sortOrder = sortOrder; + Q_EMIT sortRoleChanged(sortOrder); + invalidateSorting(); + } +} + +void ResourcesProxyModel::setSearch(const QString &_searchText) +{ + // 1-character searches are painfully slow. >= 2 chars are fine, though + const QString searchText = _searchText.count() <= 1 ? QString() : _searchText; + + const bool diff = searchText != m_filters.search; + + if (diff) { + m_filters.search = searchText; + if (m_sortByRelevancy == searchText.isEmpty()) { + m_sortByRelevancy = !searchText.isEmpty(); + Q_EMIT sortByRelevancyChanged(m_sortByRelevancy); + } + invalidateFilter(); + Q_EMIT searchChanged(m_filters.search); + } +} + +void ResourcesProxyModel::removeDuplicates(QVector& resources) +{ + const auto cab = ResourcesModel::global()->currentApplicationBackend(); + QHash::iterator> storedIds; + for(auto it = m_displayedResources.begin(); it != m_displayedResources.end(); ++it) + { + const auto appstreamid = (*it)->appstreamId(); + if (appstreamid.isEmpty()) { + continue; + } + auto at = storedIds.find(appstreamid); + if (at == storedIds.end()) { + storedIds[appstreamid] = it; + } else { + qCWarning(LIBDISCOVER_LOG) << "We should have sanitized the displayed resources. There is a bug"; + Q_UNREACHABLE(); + } + } + + QHash::iterator> ids; + for(auto it = resources.begin(); it != resources.end(); ) + { + const auto appstreamid = (*it)->appstreamId(); + if (appstreamid.isEmpty()) { + ++it; + continue; + } + auto at = storedIds.find(appstreamid); + if (at == storedIds.end()) { + auto at = ids.find(appstreamid); + if (at == ids.end()) { + ids[appstreamid] = it; + ++it; + } else { + if ((*it)->backend() == cab) { + qSwap(*it, **at); + } + it = resources.erase(it); + } + } else { + if ((*it)->backend() == cab) { + **at = *it; + auto pos = index(*at - m_displayedResources.begin(), 0); + Q_EMIT dataChanged(pos, pos); + } + it = resources.erase(it); + } + } +} + +void ResourcesProxyModel::addResources(const QVector& _res) +{ + auto res = _res; + m_filters.filterJustInCase(res); + + if (res.isEmpty()) + return; + + if (!m_sortByRelevancy) + qSort(res.begin(), res.end(), [this](AbstractResource* res, AbstractResource* res2){ return lessThan(res, res2); }); + + sortedInsertion(res); + fetchSubcategories(); +} + +void ResourcesProxyModel::invalidateSorting() +{ + if (m_displayedResources.isEmpty()) + return; + + if (!m_sortByRelevancy) { + beginResetModel(); + qSort(m_displayedResources.begin(), m_displayedResources.end(), [this](AbstractResource* res, AbstractResource* res2){ return lessThan(res, res2); }); + endResetModel(); + } +} + +QString ResourcesProxyModel::lastSearch() const +{ + return m_filters.search; +} + +void ResourcesProxyModel::setOriginFilter(const QString &origin) +{ + if (origin == m_filters.origin) + return; + + m_filters.origin = origin; + + invalidateFilter(); +} + +QString ResourcesProxyModel::originFilter() const +{ + return m_filters.origin; +} + +void ResourcesProxyModel::setFiltersFromCategory(Category *category) +{ + if(category==m_filters.category) + return; + + m_filters.category = category; + invalidateFilter(); + emit categoryChanged(); +} + +void ResourcesProxyModel::fetchSubcategories() +{ + auto cats = kVectorToSet(m_filters.category ? m_filters.category->subCategories() : CategoryModel::global()->rootCategories()); + + const int count = rowCount(); + QSet done; + for (int i=0; icategoryObjects(kSetToVector(cats)); + done.unite(found); + cats.subtract(found); + } + + const QVariantList ret = kTransform(done, [](Category* cat) { return QVariant::fromValue(cat); }); + if (ret != m_subcategories) { + m_subcategories = ret; + Q_EMIT subcategoriesChanged(m_subcategories); + } +} + +QVariantList ResourcesProxyModel::subcategories() const +{ + return m_subcategories; +} + +void ResourcesProxyModel::invalidateFilter() +{ + if (!m_setup || ResourcesModel::global()->backends().isEmpty()) { + return; + } + + if (m_currentStream) { + qCWarning(LIBDISCOVER_LOG) << "last stream isn't over yet" << m_filters << this; + delete m_currentStream; + } + + m_currentStream = ResourcesModel::global()->search(m_filters); + Q_EMIT busyChanged(true); + + if (!m_displayedResources.isEmpty()) { + beginResetModel(); + m_displayedResources.clear(); + endResetModel(); + } + + connect(m_currentStream, &AggregatedResultsStream::resourcesFound, this, &ResourcesProxyModel::addResources); + connect(m_currentStream, &AggregatedResultsStream::finished, this, [this]() { + m_currentStream = nullptr; + Q_EMIT busyChanged(false); + }); +} + +int ResourcesProxyModel::rowCount(const QModelIndex& parent) const +{ + return parent.isValid() ? 0 : m_displayedResources.count(); +} + +bool ResourcesProxyModel::lessThan(AbstractResource* leftPackage, AbstractResource* rightPackage) const +{ + auto role = m_sortRole; + Qt::SortOrder order = m_sortOrder; + QVariant leftValue; + QVariant rightValue; + //if we're comparing two equal values, we want the model sorted by application name + if(role != NameRole) { + leftValue = roleToValue(leftPackage, role); + rightValue = roleToValue(rightPackage, role); + + if (leftValue == rightValue) { + role = NameRole; + order = Qt::AscendingOrder; + } + } + + bool ret; + if(role == NameRole) { + ret = leftPackage->nameSortKey().compare(rightPackage->nameSortKey()) < 0; + } else if(role == CanUpgrade) { + ret = leftValue.toBool(); + } else { + ret = leftValue < rightValue; + } + return ret != (order != Qt::AscendingOrder); +} + +Category* ResourcesProxyModel::filteredCategory() const +{ + return m_filters.category; +} + +void ResourcesProxyModel::setStateFilter(AbstractResource::State s) +{ + if (s != m_filters.state) { + m_filters.state = s; + invalidateFilter(); + emit stateFilterChanged(); + } +} + +AbstractResource::State ResourcesProxyModel::stateFilter() const +{ + return m_filters.state; +} + +QString ResourcesProxyModel::mimeTypeFilter() const +{ + return m_filters.mimetype; +} + +void ResourcesProxyModel::setMimeTypeFilter(const QString& mime) +{ + if (m_filters.mimetype != mime) { + m_filters.mimetype = mime; + invalidateFilter(); + } +} + +QString ResourcesProxyModel::extends() const +{ + return m_filters.extends; +} + +void ResourcesProxyModel::setExtends(const QString& extends) +{ + if (m_filters.extends != extends) { + m_filters.extends = extends; + invalidateFilter(); + } +} + +void ResourcesProxyModel::setFilterMinimumState(bool filterMinimumState) +{ + if (filterMinimumState != m_filters.filterMinimumState) { + m_filters.filterMinimumState = filterMinimumState; + invalidateFilter(); + Q_EMIT filterMinimumStateChanged(m_filters.filterMinimumState); + } +} + +bool ResourcesProxyModel::filterMinimumState() const +{ + return m_filters.filterMinimumState; +} + +QUrl ResourcesProxyModel::resourcesUrl() const +{ + return m_filters.resourceUrl; +} + +void ResourcesProxyModel::setResourcesUrl(const QUrl& resourcesUrl) +{ + if (m_filters.resourceUrl != resourcesUrl) { + m_filters.resourceUrl = resourcesUrl; + invalidateFilter(); + } +} + +bool ResourcesProxyModel::allBackends() const +{ + return m_filters.allBackends; +} + +void ResourcesProxyModel::setAllBackends(bool allBackends) +{ + m_filters.allBackends = allBackends; +} + +QVariant ResourcesProxyModel::data(const QModelIndex& index, int role) const +{ + if (!index.isValid()) { + return QVariant(); + } + + AbstractResource* const resource = m_displayedResources[index.row()]; + return roleToValue(resource, role); +} + +QVariant ResourcesProxyModel::roleToValue(AbstractResource* resource, int role) const +{ + switch(role) { + case ApplicationRole: + return qVariantFromValue(resource); + case RatingPointsRole: + case RatingRole: + case RatingCountRole: + case SortableRatingRole: { + Rating* const rating = resource->rating(); + const int idx = Rating::staticMetaObject.indexOfProperty(roleNames().value(role).constData()); + Q_ASSERT(idx >= 0); + auto prop = Rating::staticMetaObject.property(idx); + if (rating) + return prop.read(rating); + else { + QVariant val(0); + val.convert(prop.type()); + return val; + } + } + case Qt::DecorationRole: + case Qt::DisplayRole: + case Qt::StatusTipRole: + case Qt::ToolTipRole: + return QVariant(); + default: { + QByteArray roleText = roleNames().value(role); + if(Q_UNLIKELY(roleText.isEmpty())) { + qCDebug(LIBDISCOVER_LOG) << "unsupported role" << role; + return {}; + } + static const QMetaObject* m = &AbstractResource::staticMetaObject; + int propidx = roleText.isEmpty() ? -1 : m->indexOfProperty(roleText.constData()); + + if(Q_UNLIKELY(propidx < 0)) { + qCWarning(LIBDISCOVER_LOG) << "unknown role:" << role << roleText; + return QVariant(); + } else + return m->property(propidx).read(resource); + } + } +} + +bool ResourcesProxyModel::isSorted(const QVector & resources) +{ + auto last = resources.constFirst(); + for(auto it = resources.constBegin()+1, itEnd = resources.constEnd(); it != itEnd; ++it) { + if(!lessThan(last, *it)) { + return false; + } + last = *it; + } + return true; +} + +void ResourcesProxyModel::sortedInsertion(const QVector & _res) +{ + auto resources = _res; + Q_ASSERT(!resources.isEmpty()); + + if (!m_filters.allBackends) { + removeDuplicates(resources); + if (resources.isEmpty()) + return; + } + + if (m_sortByRelevancy || m_displayedResources.isEmpty()) { +// Q_ASSERT(m_sortByRelevancy || isSorted(resources)); + int rows = rowCount(); + beginInsertRows({}, rows, rows+resources.count()-1); + m_displayedResources += resources; + endInsertRows(); + return; + } + + for(auto resource: qAsConst(resources)) { + const auto finder = [this](AbstractResource* resource, AbstractResource* res){ return lessThan(resource, res); }; + const auto it = std::upper_bound(m_displayedResources.constBegin(), m_displayedResources.constEnd(), resource, finder); + const auto newIdx = it == m_displayedResources.constEnd() ? m_displayedResources.count() : (it - m_displayedResources.constBegin()); + + if ((it-1) != m_displayedResources.constEnd() && *(it-1) == resource) + continue; + + beginInsertRows({}, newIdx, newIdx); + m_displayedResources.insert(newIdx, resource); + endInsertRows(); +// Q_ASSERT(isSorted(resources)); + } +} + +void ResourcesProxyModel::refreshResource(AbstractResource* resource, const QVector& properties) +{ + const auto residx = m_displayedResources.indexOf(resource); + if (residx<0) { + if (!m_sortByRelevancy && m_filters.shouldFilter(resource)) { + sortedInsertion({resource}); + } + return; + } + + if (!m_filters.shouldFilter(resource)) { + beginRemoveRows({}, residx, residx); + m_displayedResources.removeAt(residx); + endRemoveRows(); + return; + } + + const QModelIndex idx = index(residx, 0); + Q_ASSERT(idx.isValid()); + const auto roles = propertiesToRoles(properties); + if (!m_sortByRelevancy && roles.contains(m_sortRole)) { + beginRemoveRows({}, residx, residx); + m_displayedResources.removeAt(residx); + endRemoveRows(); + + sortedInsertion({resource}); + } else + emit dataChanged(idx, idx, roles); +} + +void ResourcesProxyModel::removeResource(AbstractResource* resource) +{ + const auto residx = m_displayedResources.indexOf(resource); + if (residx < 0) + return; + beginRemoveRows({}, residx, residx); + m_displayedResources.removeAt(residx); + endRemoveRows(); +} + +void ResourcesProxyModel::refreshBackend(AbstractResourcesBackend* backend, const QVector& properties) +{ + auto roles = propertiesToRoles(properties); + const int count = m_displayedResources.count(); + + bool found = false; + + for(int i = 0; ibackend()) + continue; + + int j = i+1; + for(; jbackend(); ++j) + {} + + Q_EMIT dataChanged(index(i, 0), index(j-1, 0), roles); + i = j; + found = true; + } + + if (found && properties.contains(m_roles.value(m_sortRole))) { + invalidateSorting(); + } +} + +QVector ResourcesProxyModel::propertiesToRoles(const QVector& properties) const +{ + QVector roles = kTransform>(properties, [this](const QByteArray& arr) { return roleNames().key(arr, -1); }); + roles.removeAll(-1); + return roles; +} + +int ResourcesProxyModel::indexOf(AbstractResource* res) +{ + return m_displayedResources.indexOf(res); +} + +AbstractResource * ResourcesProxyModel::resourceAt(int row) const +{ + return m_displayedResources[row]; +} + +bool ResourcesProxyModel::sortByRelevancy() const +{ + return m_sortByRelevancy; +} diff --git a/libdiscover/resources/ResourcesProxyModel.h b/libdiscover/resources/ResourcesProxyModel.h new file mode 100644 index 0000000..fd3c052 --- /dev/null +++ b/libdiscover/resources/ResourcesProxyModel.h @@ -0,0 +1,177 @@ +/*************************************************************************** + * Copyright © 2010 Jonathan Thomas * + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef RESOURCESPROXYMODEL_H +#define RESOURCESPROXYMODEL_H + +#include +#include +#include +#include + +#include + +#include "discovercommon_export.h" +#include "AbstractResource.h" +#include "AbstractResourcesBackend.h" + +class Transaction; +class AggregatedResultsStream; + +class DISCOVERCOMMON_EXPORT ResourcesProxyModel : public QAbstractListModel, public QQmlParserStatus +{ + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) + Q_PROPERTY(Roles sortRole READ sortRole WRITE setSortRole NOTIFY sortRoleChanged) + Q_PROPERTY(Qt::SortOrder sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged) + Q_PROPERTY(Category* filteredCategory READ filteredCategory WRITE setFiltersFromCategory NOTIFY categoryChanged) + Q_PROPERTY(QString originFilter READ originFilter WRITE setOriginFilter) + Q_PROPERTY(AbstractResource::State stateFilter READ stateFilter WRITE setStateFilter NOTIFY stateFilterChanged) + Q_PROPERTY(bool filterMinimumState READ filterMinimumState WRITE setFilterMinimumState NOTIFY filterMinimumStateChanged) + Q_PROPERTY(QString mimeTypeFilter READ mimeTypeFilter WRITE setMimeTypeFilter) + Q_PROPERTY(QString search READ lastSearch WRITE setSearch NOTIFY searchChanged) + Q_PROPERTY(QUrl resourcesUrl READ resourcesUrl WRITE setResourcesUrl NOTIFY resourcesUrlChanged) + Q_PROPERTY(QString extending READ extends WRITE setExtends) + Q_PROPERTY(bool allBackends READ allBackends WRITE setAllBackends) + Q_PROPERTY(QVariantList subcategories READ subcategories NOTIFY subcategoriesChanged) + Q_PROPERTY(bool isBusy READ isBusy NOTIFY busyChanged) + Q_PROPERTY(int count READ rowCount NOTIFY countChanged) + Q_PROPERTY(bool sortByRelevancy READ sortByRelevancy NOTIFY sortByRelevancyChanged) +public: + explicit ResourcesProxyModel(QObject* parent = nullptr); + enum Roles { + NameRole = Qt::UserRole, + IconRole, + CommentRole, + StateRole, + RatingRole, + RatingPointsRole, + RatingCountRole, + SortableRatingRole, + InstalledRole, + ApplicationRole, + OriginRole, + DisplayOriginRole, + CanUpgrade, + PackageNameRole, + IsTechnicalRole, + CategoryRole, + CategoryDisplayRole, + SectionRole, + MimeTypes, + SizeRole, + LongDescriptionRole, + SourceIconRole, + ReleaseDateRole + }; + Q_ENUM(Roles) + + QHash roleNames() const override; + + void setSearch(const QString &text); + QString lastSearch() const; + void setOriginFilter(const QString &origin); + QString originFilter() const; + void setFiltersFromCategory(Category *category); + void setStateFilter(AbstractResource::State s); + AbstractResource::State stateFilter() const; + void setSortRole(Roles sortRole); + Roles sortRole() const { return m_sortRole; } + void setSortOrder(Qt::SortOrder sortOrder); + Qt::SortOrder sortOrder() const { return m_sortOrder; } + void setFilterMinimumState(bool filterMinimumState); + bool filterMinimumState() const; + + Category* filteredCategory() const; + + QString mimeTypeFilter() const; + void setMimeTypeFilter(const QString& mime); + + QString extends() const; + void setExtends(const QString &extends); + + QUrl resourcesUrl() const; + void setResourcesUrl(const QUrl& resourcesUrl); + + bool allBackends() const; + void setAllBackends(bool allBackends); + + QVariantList subcategories() const; + + QVariant data(const QModelIndex & index, int role) const override; + int rowCount(const QModelIndex & parent = {}) const override; + + Q_SCRIPTABLE int indexOf(AbstractResource* res); + Q_SCRIPTABLE AbstractResource* resourceAt(int row) const; + + bool isBusy() const { return m_currentStream != nullptr; } + + bool lessThan(AbstractResource* rl, AbstractResource* rr) const; + Q_SCRIPTABLE void invalidateFilter(); + void invalidateSorting(); + + bool sortByRelevancy() const; + + void classBegin() override {} + void componentComplete() override; + +private Q_SLOTS: + void refreshBackend(AbstractResourcesBackend* backend, const QVector& properties); + void refreshResource(AbstractResource* resource, const QVector& properties); + void removeResource(AbstractResource* resource); +private: + void sortedInsertion(const QVector &res); + QVariant roleToValue(AbstractResource* res, int role) const; + + QVector propertiesToRoles(const QVector& properties) const; + void addResources(const QVector &res); + void fetchSubcategories(); + void removeDuplicates(QVector& newResources); + bool isSorted(const QVector & resources); + + Roles m_sortRole; + Qt::SortOrder m_sortOrder; + + bool m_sortByRelevancy; + bool m_setup = false; + + AbstractResourcesBackend::Filters m_filters; + QVariantList m_subcategories; + + QVector m_displayedResources; + const QHash m_roles; + AggregatedResultsStream* m_currentStream; + +Q_SIGNALS: + void busyChanged(bool isBusy); + void sortRoleChanged(int sortRole); + void sortOrderChanged(Qt::SortOrder order); + void categoryChanged(); + void stateFilterChanged(); + void searchChanged(const QString &search); + void subcategoriesChanged(const QVariantList &subcategories); + void resourcesUrlChanged(const QUrl &url); + void countChanged(); + void filterMinimumStateChanged(bool filterMinimumState); + void sortByRelevancyChanged(bool sortByRelevancy); +}; + +#endif diff --git a/libdiscover/resources/ResourcesUpdatesModel.cpp b/libdiscover/resources/ResourcesUpdatesModel.cpp new file mode 100644 index 0000000..5b17b68 --- /dev/null +++ b/libdiscover/resources/ResourcesUpdatesModel.cpp @@ -0,0 +1,284 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "ResourcesUpdatesModel.h" +#include +#include +#include "ResourcesModel.h" +#include "AbstractBackendUpdater.h" +#include "AbstractResource.h" +#include "utils.h" +#include +#include "libdiscover_debug.h" + +#include +#include + +class UpdateTransaction : public Transaction +{ + Q_OBJECT +public: + UpdateTransaction(ResourcesUpdatesModel* /*parent*/, const QVector &updaters) + : Transaction(nullptr, nullptr, Transaction::InstallRole) + , m_allUpdaters(updaters) + { + bool cancelable = false; + foreach(auto updater, m_allUpdaters) { + connect(updater, &AbstractBackendUpdater::progressingChanged, this, &UpdateTransaction::slotProgressingChanged); + connect(updater, &AbstractBackendUpdater::downloadSpeedChanged, this, &UpdateTransaction::slotDownloadSpeedChanged); + connect(updater, &AbstractBackendUpdater::progressChanged, this, &UpdateTransaction::slotUpdateProgress); + connect(updater, &AbstractBackendUpdater::proceedRequest, this, &UpdateTransaction::processProceedRequest); + connect(updater, &AbstractBackendUpdater::cancelableChanged, this, [this](bool cancelable){ if (cancelable) setCancellable(true); }); + cancelable |= updater->isCancelable(); + } + setCancellable(cancelable); + } + + void processProceedRequest(const QString &title, const QString& message) { + m_updatersWaitingForFeedback += qobject_cast(sender()); + Q_EMIT proceedRequest(title, message); + } + + void cancel() override { + QVector toCancel = m_updatersWaitingForFeedback.isEmpty() ? m_allUpdaters : m_updatersWaitingForFeedback; + + foreach(auto updater, toCancel) { + updater->cancel(); + } + } + + void proceed() override { + m_updatersWaitingForFeedback.takeFirst()->proceed(); + } + + bool isProgressing() const + { + bool progressing = false; + foreach(AbstractBackendUpdater* upd, m_allUpdaters) { + progressing |= upd->isProgressing(); + } + return progressing; + } + + void slotProgressingChanged() + { + if (status() > SetupStatus && status() < DoneStatus && !isProgressing()) { + setStatus(Transaction::DoneStatus); + Q_EMIT finished(); + deleteLater(); + } + } + + void slotUpdateProgress() + { + qreal total = 0; + foreach(AbstractBackendUpdater* updater, m_allUpdaters) { + total += updater->progress(); + } + setProgress(total / m_allUpdaters.count()); + } + + void slotDownloadSpeedChanged() + { + quint64 total = 0; + foreach(AbstractBackendUpdater* updater, m_allUpdaters) { + total += updater->downloadSpeed(); + } + setDownloadSpeed(total); + } + + QVariant icon() const override { return QStringLiteral("update-low"); } + QString name() const override { return i18n("Update"); } + +Q_SIGNALS: + void finished(); + +private: + QVector m_updatersWaitingForFeedback; + const QVector m_allUpdaters; +}; + +ResourcesUpdatesModel::ResourcesUpdatesModel(QObject* parent) + : QStandardItemModel(parent) + , m_lastIsProgressing(false) + , m_transaction(nullptr) +{ + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &ResourcesUpdatesModel::init); + + init(); +} + +void ResourcesUpdatesModel::init() +{ + const QVector backends = ResourcesModel::global()->backends(); + m_lastIsProgressing = false; + foreach(AbstractResourcesBackend* b, backends) { + AbstractBackendUpdater* updater = b->backendUpdater(); + if(updater && !m_updaters.contains(updater)) { + connect(updater, &AbstractBackendUpdater::statusMessageChanged, this, &ResourcesUpdatesModel::message); + connect(updater, &AbstractBackendUpdater::statusDetailChanged, this, &ResourcesUpdatesModel::message); + connect(updater, &AbstractBackendUpdater::downloadSpeedChanged, this, &ResourcesUpdatesModel::downloadSpeedChanged); + connect(updater, &AbstractBackendUpdater::resourceProgressed, this, &ResourcesUpdatesModel::resourceProgressed); + connect(updater, &AbstractBackendUpdater::passiveMessage, this, &ResourcesUpdatesModel::passiveMessage); + connect(updater, &AbstractBackendUpdater::destroyed, this, &ResourcesUpdatesModel::updaterDestroyed); + m_updaters += updater; + + m_lastIsProgressing |= updater->isProgressing(); + } + } + + auto tm = TransactionModel::global(); + foreach(auto t, tm->transactions()) { + auto updateTransaction = qobject_cast(t); + if (updateTransaction) { + setTransaction(updateTransaction); + } + } +} + +void ResourcesUpdatesModel::updaterDestroyed(QObject* obj) +{ + m_updaters.removeAll(static_cast(obj)); +} + +void ResourcesUpdatesModel::message(const QString& msg) +{ + if(msg.isEmpty()) + return; + + appendRow(new QStandardItem(msg)); +} + +void ResourcesUpdatesModel::prepare() +{ + if(isProgressing()) { + qCWarning(LIBDISCOVER_LOG) << "trying to set up a running instance"; + return; + } + foreach(AbstractBackendUpdater* upd, m_updaters) { + upd->prepare(); + } +} + +void ResourcesUpdatesModel::updateAll() +{ + if (!m_updaters.isEmpty()) { + delete m_transaction; + + const auto updaters = kFilter>(m_updaters, [](AbstractBackendUpdater* u) {return u->hasUpdates(); }); + if (updaters.isEmpty()) { + return; + } + + m_transaction = new UpdateTransaction(this, updaters); + m_transaction->setStatus(Transaction::SetupStatus); + setTransaction(m_transaction); + TransactionModel::global()->addTransaction(m_transaction); + Q_FOREACH (AbstractBackendUpdater* upd, updaters) { + QMetaObject::invokeMethod(upd, "start", Qt::QueuedConnection); + } + + QMetaObject::invokeMethod(this, [this](){ + m_transaction->setStatus(Transaction::CommittingStatus); + m_transaction->slotProgressingChanged(); + }, Qt::QueuedConnection); + + } +} + +bool ResourcesUpdatesModel::isProgressing() const +{ + return m_transaction && m_transaction->status() < Transaction::DoneStatus; +} + +QList ResourcesUpdatesModel::toUpdate() const +{ + QList ret; + foreach(AbstractBackendUpdater* upd, m_updaters) { + ret += upd->toUpdate(); + } + return ret; +} + +void ResourcesUpdatesModel::addResources(const QList& resources) +{ + QHash > sortedResources; + foreach(AbstractResource* res, resources) { + sortedResources[res->backend()] += res; + } + + for(auto it=sortedResources.constBegin(), itEnd=sortedResources.constEnd(); it!=itEnd; ++it) { + it.key()->backendUpdater()->addResources(*it); + } +} + +void ResourcesUpdatesModel::removeResources(const QList< AbstractResource* >& resources) +{ + QHash > sortedResources; + foreach(AbstractResource* res, resources) { + sortedResources[res->backend()] += res; + } + + for(auto it=sortedResources.constBegin(), itEnd=sortedResources.constEnd(); it!=itEnd; ++it) { + it.key()->backendUpdater()->removeResources(*it); + } +} + +QDateTime ResourcesUpdatesModel::lastUpdate() const +{ + QDateTime ret; + foreach(AbstractBackendUpdater* upd, m_updaters) { + QDateTime current = upd->lastUpdate(); + if(!ret.isValid() || (current.isValid() && current>ret)) { + ret = current; + } + } + return ret; +} + +double ResourcesUpdatesModel::updateSize() const +{ + double ret = 0.; + for(AbstractBackendUpdater* upd: m_updaters) { + ret += upd->updateSize(); + } + return ret; +} + +qint64 ResourcesUpdatesModel::secsToLastUpdate() const +{ + return lastUpdate().secsTo(QDateTime::currentDateTime()); +} + +void ResourcesUpdatesModel::setTransaction(UpdateTransaction* transaction) +{ + m_transaction = transaction; + connect(transaction, &UpdateTransaction::finished, this, &ResourcesUpdatesModel::finished); + connect(transaction, &UpdateTransaction::finished, this, &ResourcesUpdatesModel::progressingChanged); + + Q_EMIT progressingChanged(); +} + +Transaction* ResourcesUpdatesModel::transaction() const +{ + return m_transaction.data(); +} + +#include "ResourcesUpdatesModel.moc" diff --git a/libdiscover/resources/ResourcesUpdatesModel.h b/libdiscover/resources/ResourcesUpdatesModel.h new file mode 100644 index 0000000..b4f807b --- /dev/null +++ b/libdiscover/resources/ResourcesUpdatesModel.h @@ -0,0 +1,85 @@ +/*************************************************************************** + * Copyright © 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef RESOURCESUPDATESMODEL_H +#define RESOURCESUPDATESMODEL_H + +#include +#include +#include +#include "discovercommon_export.h" + +class AbstractResourcesBackend; +class AbstractResource; +class QAction; +class AbstractBackendUpdater; +class ResourcesModel; +class Transaction; +class UpdateTransaction; + +class DISCOVERCOMMON_EXPORT ResourcesUpdatesModel : public QStandardItemModel +{ + Q_OBJECT + Q_PROPERTY(bool isProgressing READ isProgressing NOTIFY progressingChanged) + Q_PROPERTY(QDateTime lastUpdate READ lastUpdate NOTIFY progressingChanged) + Q_PROPERTY(qint64 secsToLastUpdate READ secsToLastUpdate NOTIFY progressingChanged) + Q_PROPERTY(Transaction* transaction READ transaction NOTIFY progressingChanged) + public: + explicit ResourcesUpdatesModel(QObject* parent = nullptr); + + quint64 downloadSpeed() const; + Q_SCRIPTABLE void prepare(); + + bool isProgressing() const; + QList toUpdate() const; + QDateTime lastUpdate() const; + double updateSize() const; + void addResources(const QList& resources); + void removeResources(const QList& resources); + + qint64 secsToLastUpdate() const; + QVector updaters() const { return m_updaters; } + Transaction* transaction() const; + + Q_SIGNALS: + void downloadSpeedChanged(); + void progressingChanged(); + void finished(); + void resourceProgressed(AbstractResource* resource, qreal progress); + void passiveMessage(const QString &message); + + public Q_SLOTS: + void updateAll(); + + private Q_SLOTS: + void updaterDestroyed(QObject* obj); + void message(const QString& msg); + + private: + void init(); + void updateFinished(); + void setTransaction(UpdateTransaction* transaction); + + QVector m_updaters; + bool m_lastIsProgressing; + QPointer m_transaction; +}; + +#endif // RESOURCESUPDATESMODEL_H diff --git a/libdiscover/resources/SourcesModel.cpp b/libdiscover/resources/SourcesModel.cpp new file mode 100644 index 0000000..4c5ddd2 --- /dev/null +++ b/libdiscover/resources/SourcesModel.cpp @@ -0,0 +1,98 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "SourcesModel.h" +#include +#include "libdiscover_debug.h" +#include +#include "resources/AbstractResourcesBackend.h" +#include "resources/AbstractSourcesBackend.h" + +Q_GLOBAL_STATIC(SourcesModel, s_sources) + +const auto DisplayName = "DisplayName"; +const auto SourcesBackendId = "SourcesBackend"; + +SourcesModel::SourcesModel(QObject* parent) + : KConcatenateRowsProxyModel(parent) +{} + +SourcesModel::~SourcesModel() = default; + +SourcesModel* SourcesModel::global() +{ + return s_sources; +} + +QHash SourcesModel::roleNames() const +{ + QHash roles = KConcatenateRowsProxyModel::roleNames(); + roles.insert(AbstractSourcesBackend::IdRole, "sourceId"); + roles.insert(SourceNameRole, "sourceName"); + roles.insert(SourcesBackend, "sourcesBackend"); + roles.insert(ResourcesBackend, "resourcesBackend"); + roles.insert(EnabledRole, "enabled"); + return roles; +} + +void SourcesModel::addSourcesBackend(AbstractSourcesBackend* sources) +{ + auto backend = qobject_cast(sources->parent()); + + auto m = sources->sources(); + m->setProperty(DisplayName, backend->displayName()); + m->setProperty(SourcesBackendId, qVariantFromValue(sources)); + addSourceModel(m); + + if (!m->rowCount()) + qWarning() << "adding empty sources model" << m; +} + +const QAbstractItemModel * SourcesModel::modelAt(const QModelIndex& index) const +{ + const auto sidx = mapToSource(index); + return sidx.model(); +} + +QVariant SourcesModel::data(const QModelIndex& index, int role) const +{ + if (!index.isValid()) return {}; + switch (role) { + case SourceNameRole: + return modelAt(index)->property(DisplayName); + case SourcesBackend: + return modelAt(index)->property(SourcesBackendId); + case EnabledRole: + return QVariant(flags(index) & Qt::ItemIsEnabled); + default: + return KConcatenateRowsProxyModel::data(index, role); + } +} + +AbstractSourcesBackend * SourcesModel::sourcesBackendByName(const QString& id) const +{ + for(int i = 0, c = rowCount(); i < c; ++i) { + const auto idx = index(i, 0); + if (idx.data(SourceNameRole) == id) { + return qobject_cast(idx.data(SourcesBackend).value()); + } + } + return nullptr; +} diff --git a/libdiscover/resources/SourcesModel.h b/libdiscover/resources/SourcesModel.h new file mode 100644 index 0000000..f4136db --- /dev/null +++ b/libdiscover/resources/SourcesModel.h @@ -0,0 +1,57 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef SOURCESMODEL_H +#define SOURCESMODEL_H + +#include +#include +#include +#include "discovercommon_export.h" +#include "AbstractSourcesBackend.h" + +class DISCOVERCOMMON_EXPORT SourcesModel : public KConcatenateRowsProxyModel +{ + Q_OBJECT + public: + enum Roles { + SourceNameRole = AbstractSourcesBackend::LastRole, + SourcesBackend, + ResourcesBackend, + EnabledRole + }; + Q_ENUM(Roles) + + explicit SourcesModel(QObject* parent = nullptr); + ~SourcesModel() override; + + static SourcesModel* global(); + QVariant data(const QModelIndex & index, int role) const override; + QHash roleNames() const override; + + void addSourcesBackend(AbstractSourcesBackend* sources); + + Q_SCRIPTABLE AbstractSourcesBackend* sourcesBackendByName(const QString &name) const; + + private: + const QAbstractItemModel* modelAt(const QModelIndex& idx) const; +}; + +#endif // SOURCESMODEL_H diff --git a/libdiscover/resources/StandardBackendUpdater.cpp b/libdiscover/resources/StandardBackendUpdater.cpp new file mode 100644 index 0000000..79739e1 --- /dev/null +++ b/libdiscover/resources/StandardBackendUpdater.cpp @@ -0,0 +1,253 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include +#include +#include +#include "ResourcesModel.h" +#include +#include +#include +#include +#include "libdiscover_debug.h" +#include +#include + +StandardBackendUpdater::StandardBackendUpdater(AbstractResourcesBackend* parent) + : AbstractBackendUpdater(parent) + , m_backend(parent) + , m_settingUp(false) + , m_progress(0) + , m_lastUpdate(QDateTime()) +{ + connect(m_backend, &AbstractResourcesBackend::fetchingChanged, this, &StandardBackendUpdater::refreshUpdateable); + connect(m_backend, &AbstractResourcesBackend::resourcesChanged, this, &StandardBackendUpdater::resourcesChanged); + connect(m_backend, &AbstractResourcesBackend::resourceRemoved, this, [this](AbstractResource* resource){ + m_upgradeable.remove(resource); + m_toUpgrade.remove(resource); + }); + connect(TransactionModel::global(), &TransactionModel::transactionRemoved, this, &StandardBackendUpdater::transactionRemoved); + connect(TransactionModel::global(), &TransactionModel::transactionAdded, this, &StandardBackendUpdater::transactionAdded); + + m_timer.setSingleShot(true); + m_timer.setInterval(10); + connect(&m_timer, &QTimer::timeout, this, &StandardBackendUpdater::refreshUpdateable); +} + +void StandardBackendUpdater::resourcesChanged(AbstractResource* res, const QVector& props) +{ + if (props.contains("state") && (res->state() == AbstractResource::Upgradeable || m_upgradeable.contains(res))) + m_timer.start(); +} + +bool StandardBackendUpdater::hasUpdates() const +{ + return !m_upgradeable.isEmpty(); +} + +void StandardBackendUpdater::start() +{ + m_settingUp = true; + emit progressingChanged(true); + setProgress(0); + auto upgradeList = m_toUpgrade.toList(); + qSort(upgradeList.begin(), upgradeList.end(), [](const AbstractResource* a, const AbstractResource* b){ return a->name() < b->name(); }); + + const bool couldCancel = m_canCancel; + foreach(AbstractResource* res, upgradeList) { + m_pendingResources += res; + auto t = m_backend->installApplication(res); + t->setVisible(false); + t->setProperty("updater", QVariant::fromValue(this)); + connect(t, &Transaction::downloadSpeedChanged, this, [this](){ + Q_EMIT downloadSpeedChanged(downloadSpeed()); + }); + connect(this, &StandardBackendUpdater::cancelTransaction, t, &Transaction::cancel); + TransactionModel::global()->addTransaction(t); + m_canCancel |= t->isCancellable(); + } + if (m_canCancel != couldCancel) { + Q_EMIT cancelableChanged(m_canCancel); + } + m_settingUp = false; + + if(m_pendingResources.isEmpty()) { + cleanup(); + } else { + setProgress(1); + } +} + +void StandardBackendUpdater::cancel() +{ + Q_EMIT cancelTransaction(); +} + +void StandardBackendUpdater::transactionAdded(Transaction* newTransaction) +{ + if (!m_pendingResources.contains(newTransaction->resource())) + return; + + connect(newTransaction, &Transaction::progressChanged, this, &StandardBackendUpdater::transactionProgressChanged); +} + +void StandardBackendUpdater::transactionProgressChanged(int percentage) +{ + Transaction* t = qobject_cast(sender()); + Q_EMIT resourceProgressed(t->resource(), percentage); +} + +void StandardBackendUpdater::transactionRemoved(Transaction* t) +{ + const bool fromOurBackend = t->resource() && t->resource()->backend()==m_backend; + if (!fromOurBackend) { + return; + } + + const bool found = fromOurBackend && m_pendingResources.remove(t->resource()); + + if(found && !m_settingUp) { + qreal p = 1-(qreal(m_pendingResources.size())/m_toUpgrade.size()); + setProgress(100*p); + if(m_pendingResources.isEmpty()) { + cleanup(); + } + } + refreshUpdateable(); +} + +void StandardBackendUpdater::refreshUpdateable() +{ + if (m_backend->isFetching() || !m_backend->isValid()) { + return; + } + + if (isProgressing()) { + m_timer.start(1000); + return; + } + + m_settingUp = true; + Q_EMIT progressingChanged(true); + AbstractResourcesBackend::Filters f; + f.state = AbstractResource::Upgradeable; + m_upgradeable.clear(); + auto r = m_backend->search(f); + connect(r, &ResultsStream::resourcesFound, this, [this](const QVector &resources){ + for(auto res : resources) + if (res->state() == AbstractResource::Upgradeable) + m_upgradeable.insert(res); + }); + connect(r, &ResultsStream::destroyed, this, [this](){ + m_settingUp = false; + Q_EMIT updatesCountChanged(updatesCount()); + Q_EMIT progressingChanged(false); + }); +} + +qreal StandardBackendUpdater::progress() const +{ + return m_progress; +} + +void StandardBackendUpdater::setProgress(qreal p) +{ + if(p>m_progress || p<0) { + m_progress = p; + emit progressChanged(p); + } +} + +void StandardBackendUpdater::prepare() +{ + m_lastUpdate = QDateTime::currentDateTime(); + m_toUpgrade = m_upgradeable; +} + +int StandardBackendUpdater::updatesCount() const +{ + return m_upgradeable.count(); +} + +void StandardBackendUpdater::addResources(const QList< AbstractResource* >& apps) +{ + Q_ASSERT(m_upgradeable.contains(apps.toSet())); + m_toUpgrade += apps.toSet(); +} + +void StandardBackendUpdater::removeResources(const QList< AbstractResource* >& apps) +{ + Q_ASSERT(m_upgradeable.contains(apps.toSet())); + Q_ASSERT(m_toUpgrade.contains(apps.toSet())); + m_toUpgrade -= apps.toSet(); +} + +void StandardBackendUpdater::cleanup() +{ + m_lastUpdate = QDateTime::currentDateTime(); + m_toUpgrade.clear(); + + refreshUpdateable(); + emit progressingChanged(false); +} + +QList StandardBackendUpdater::toUpdate() const +{ + return m_toUpgrade.toList(); +} + +bool StandardBackendUpdater::isMarked(AbstractResource* res) const +{ + return m_toUpgrade.contains(res); +} + +QDateTime StandardBackendUpdater::lastUpdate() const +{ + return m_lastUpdate; +} + +bool StandardBackendUpdater::isCancelable() const +{ + return m_canCancel; +} + +bool StandardBackendUpdater::isProgressing() const +{ + return m_settingUp || !m_pendingResources.isEmpty(); +} + +double StandardBackendUpdater::updateSize() const +{ + double ret = 0.; + for(AbstractResource* res: m_toUpgrade) { + ret += res->size(); + } + return ret; +} + +quint64 StandardBackendUpdater::downloadSpeed() const +{ + quint64 ret = 0; + for(Transaction* t: TransactionModel::global()->transactions()) { + if (t->property("updater").value() == this) + ret += t->downloadSpeed(); + } + return ret; + +} diff --git a/libdiscover/resources/StandardBackendUpdater.h b/libdiscover/resources/StandardBackendUpdater.h new file mode 100644 index 0000000..5bfa9f5 --- /dev/null +++ b/libdiscover/resources/StandardBackendUpdater.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2012 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef STANDARDBACKENDUPDATER_H +#define STANDARDBACKENDUPDATER_H + +#include "discovercommon_export.h" +#include +#include "AbstractResourcesBackend.h" +#include +#include +#include + +class AbstractResourcesBackend; + +class DISCOVERCOMMON_EXPORT StandardBackendUpdater : public AbstractBackendUpdater +{ + Q_OBJECT + Q_PROPERTY(int updatesCount READ updatesCount NOTIFY updatesCountChanged) + public: + explicit StandardBackendUpdater(AbstractResourcesBackend* parent = nullptr); + + bool hasUpdates() const override; + qreal progress() const override; + void start() override; + + QList toUpdate() const override; + void addResources(const QList& apps) override; + void removeResources(const QList& apps) override; + void prepare() override; + QDateTime lastUpdate() const override; + bool isCancelable() const override; + bool isProgressing() const override; + bool isMarked(AbstractResource* res) const override; + double updateSize() const override; + void setProgress(qreal p); + int updatesCount() const; + void cancel() override; + quint64 downloadSpeed() const override; + + Q_SIGNALS: + void cancelTransaction(); + void updatesCountChanged(int updatesCount); + + public Q_SLOTS: + void transactionRemoved(Transaction* t); + void cleanup(); + + private: + void resourcesChanged(AbstractResource* res, const QVector& props); + void refreshUpdateable(); + void transactionAdded(Transaction* newTransaction); + void transactionProgressChanged(int percentage); + + QSet m_toUpgrade; + QSet m_upgradeable; + AbstractResourcesBackend * const m_backend; + QSet m_pendingResources; + bool m_settingUp; + qreal m_progress; + QDateTime m_lastUpdate; + QTimer m_timer; + bool m_canCancel = false; +}; + +#endif // STANDARDBACKENDUPDATER_H + diff --git a/libdiscover/resources/StoredResultsStream.cpp b/libdiscover/resources/StoredResultsStream.cpp new file mode 100644 index 0000000..5d0a6e1 --- /dev/null +++ b/libdiscover/resources/StoredResultsStream.cpp @@ -0,0 +1,42 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "StoredResultsStream.h" + + +StoredResultsStream::StoredResultsStream(const QSet< ResultsStream* >& streams) + : AggregatedResultsStream(streams) +{ + connect(this, &ResultsStream::resourcesFound, this, [this](const QVector& resources) { + for(auto r : resources) + connect(r, &QObject::destroyed, this, [this, r](){ + m_resources.removeAll(r); + }); + m_resources += resources; + }); + + connect(this, &AggregatedResultsStream::finished, this, [this]() { Q_EMIT finishedResources(m_resources); }); +} + +QVector< AbstractResource* > StoredResultsStream::resources() const +{ + return m_resources; +} + diff --git a/libdiscover/resources/StoredResultsStream.h b/libdiscover/resources/StoredResultsStream.h new file mode 100644 index 0000000..b5b258f --- /dev/null +++ b/libdiscover/resources/StoredResultsStream.h @@ -0,0 +1,41 @@ +/*************************************************************************** + * Copyright © 2016 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef STOREDRESULTSSTREAM_H +#define STOREDRESULTSSTREAM_H + +#include "ResourcesModel.h" + +class DISCOVERCOMMON_EXPORT StoredResultsStream : public AggregatedResultsStream +{ +Q_OBJECT +public: + StoredResultsStream(const QSet& streams); + + QVector resources() const; + +Q_SIGNALS: + void finishedResources(const QVector& resources); + +private: + QVector m_resources; +}; + +#endif diff --git a/libdiscover/resources/discoverabstractnotifier.notifyrc b/libdiscover/resources/discoverabstractnotifier.notifyrc new file mode 100644 index 0000000..d8101bb --- /dev/null +++ b/libdiscover/resources/discoverabstractnotifier.notifyrc @@ -0,0 +1,126 @@ +[Global] +IconName=plasmadiscover +Comment=Discover +Comment[ar]=استكشف +Comment[ca]=Discover +Comment[ca@valencia]=Discover +Comment[da]=Discover +Comment[de]=Discover +Comment[el]=Discover +Comment[en_GB]=Discover +Comment[es]=Discover +Comment[et]=Avastusretk +Comment[eu]=Aurkitu +Comment[fi]=Discover +Comment[fr]=Discover +Comment[gl]=Descubrir +Comment[hu]=Discover +Comment[ia]=Discoperi +Comment[id]=Discover +Comment[it]=Discover +Comment[ko]=발견 +Comment[nl]=Ontdekken +Comment[nn]=Discover +Comment[pa]=ਖੋਜ +Comment[pl]=Odkryj +Comment[pt]=Discover +Comment[pt_BR]=Discover +Comment[ru]=Центр программ Discover +Comment[sk]=ObjaviÅ¥ +Comment[sl]=Programsko središče +Comment[sr]=Oткривач +Comment[sr@ijekavian]=Oткривач +Comment[sr@ijekavianlatin]=Otkrivač +Comment[sr@latin]=Otkrivač +Comment[sv]=Upptäck +Comment[tr]=Keşfet +Comment[uk]=Discover +Comment[x-test]=xxDiscoverxx +Comment[zh_CN]=发现 +Comment[zh_TW]=探詢 + +[Event/Update] +Name=Updates Are Available +Name[ar]=تتوفّر تحديثات +Name[ca]=Hi ha actualitzacions disponibles +Name[ca@valencia]=Hi ha actualitzacions disponibles +Name[cs]=Jsou dostupné aktualizace +Name[da]=Opdateringer tilgængelige +Name[de]=Es sind Aktualisierungen verfügbar +Name[el]=Υπάρχουν διαθέσιμες ενημερώσεις +Name[en_GB]=Updates Are Available +Name[es]=Existen actualizaciones disponibles +Name[et]=Saadaval on uuendused +Name[eu]=Eguneraketak erabilgarri daude +Name[fi]=Päivityksiä on saatavilla +Name[fr]=Des mises à jour sont disponibles +Name[gl]=Hai actualizacións dispoñíbeis +Name[he]=יש עדכונים זמינים +Name[hu]=Frissítések érhetőek el +Name[ia]=Actualisationes es disponibile +Name[id]=Update Telah Tersedia +Name[it]=Sono disponibili aggiornamenti +Name[ko]=업데이트 사용 가능 +Name[nb]=Oppgraderinger er tilgjengelige +Name[nl]=Bijwerken is beschikbaar +Name[nn]=Oppdateringar er tilgjengelege +Name[pa]=ਅੱਪਡੇਟ ਮੌਜੂਦ ਹਨ +Name[pl]=Uaktualnienia są dostępne +Name[pt]=Estão Disponíveis Actualizações +Name[pt_BR]=Atualizações estão disponíveis +Name[ru]=Доступны обновления +Name[sk]=Sú dostupné aktualizácie +Name[sl]=Na voljo so posodobitve +Name[sr]=Доступне допуне +Name[sr@ijekavian]=Доступне допуне +Name[sr@ijekavianlatin]=Dostupne dopune +Name[sr@latin]=Dostupne dopune +Name[sv]=Uppdateringar är tillgängliga +Name[tr]=Güncellemeler Mevcut +Name[uk]=Доступні оновлення +Name[x-test]=xxUpdates Are Availablexx +Name[zh_CN]=更新可用 +Name[zh_TW]=有可用的更新 +Comment=Updates Available +Comment[ar]=تتوفّر تحديثات +Comment[ca]=Actualitzacions disponibles +Comment[ca@valencia]=Actualitzacions disponibles +Comment[cs]=Jsou dostupné aktualizace +Comment[da]=Opdateringer tilgængelige +Comment[de]=Aktualisierungen verfügbar +Comment[el]=Διαθέσιμες ενημερώσεις +Comment[en_GB]=Updates Available +Comment[es]=Actualizaciones disponibles +Comment[et]=Saadaval on uuendused +Comment[eu]=Eguneraketak erabilgarri +Comment[fi]=Päivityksiä saatavilla +Comment[fr]=Mises à jour disponibles +Comment[gl]=Actualizacións dispoñíbeis +Comment[he]=עדכונים זמינים +Comment[hu]=Frissítések érhetőek el +Comment[ia]=Actualisationes disponibile +Comment[id]=Update Tersedia +Comment[it]=Aggiornamenti disponibili +Comment[ko]=업데이트 사용 가능 +Comment[nb]=Oppgraderinger tilgjengelige +Comment[nl]=Bijwerken is beschikbaar +Comment[nn]=Oppdateringar tilgjengelege +Comment[pa]=ਅੱਪਡੇਟ ਮੌਜੂਦ +Comment[pl]=Dostępne uaktualnienia +Comment[pt]=Actualizações Disponíveis +Comment[pt_BR]=Atualizações disponíveis +Comment[ru]=Доступны обновления +Comment[sk]=Dostupné aktualizácie +Comment[sl]=Na voljo so posodobitve +Comment[sr]=Доступне су нове допуне +Comment[sr@ijekavian]=Доступне су нове допуне +Comment[sr@ijekavianlatin]=Dostupne su nove dopune +Comment[sr@latin]=Dostupne su nove dopune +Comment[sv]=Uppdateringar tillgängliga +Comment[tr]=Güncellemeler Mevcut +Comment[uk]=Доступні оновлення +Comment[x-test]=xxUpdates Availablexx +Comment[zh_CN]=更新可用 +Comment[zh_TW]=有可用的更新 +Action=Popup + diff --git a/libdiscover/tests/CMakeLists.txt b/libdiscover/tests/CMakeLists.txt new file mode 100644 index 0000000..12e436d --- /dev/null +++ b/libdiscover/tests/CMakeLists.txt @@ -0,0 +1 @@ +ecm_add_test(CategoriesTest.cpp TEST_NAME CategoriesTest LINK_LIBRARIES Qt5::Test Qt5::Gui Discover::Common) diff --git a/libdiscover/tests/CategoriesTest.cpp b/libdiscover/tests/CategoriesTest.cpp new file mode 100644 index 0000000..c39b18f --- /dev/null +++ b/libdiscover/tests/CategoriesTest.cpp @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2015 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include +#include +#include +#include + +class CategoriesTest : public QObject +{ + Q_OBJECT +public: + CategoriesTest() {} + + QVector populateCategories() + { + const QVector categoryFiles = { + QFINDTESTDATA("../backends/BodegaBackend/muon-bodegawallpapers-backend-categories.xml"), + QFINDTESTDATA("../backends/PackageKitBackend/packagekit-backend-categories.xml"), + QFINDTESTDATA("../backends/AkabeiBackend/akabei-backend-categories.xml"), + QFINDTESTDATA("../backends/KNSBackend/knscomic-backend-categories.xml"), + QFINDTESTDATA("../backends/KNSBackend/knsplasmoids-backend-categories.xml"), + QFINDTESTDATA("../backends/ApplicationBackend/ubuntu_sso_dbus_interface.xml"), + QFINDTESTDATA("../backends/ApplicationBackend/qapt-backend-categories.xml"), + QFINDTESTDATA("../backends/DummyBackend/dummy-backend-categories.xml") + }; + + QVector ret; + CategoriesReader reader; + Q_FOREACH (const QString& name, categoryFiles) { + const QVector cats = reader.loadCategoriesPath(name); + + if(ret.isEmpty()) { + ret = cats; + } else { + Q_FOREACH (Category* c, cats) + Category::addSubcategory(ret, c); + } + } + qSort(ret.begin(), ret.end(), Category::categoryLessThan); + return ret; + } + +private Q_SLOTS: + void testReadCategories() { + auto categories = populateCategories(); + QVERIFY(!categories.isEmpty()); + } +}; + +QTEST_MAIN( CategoriesTest ) + +#include "CategoriesTest.moc" diff --git a/libdiscover/tests/modeltest.cpp b/libdiscover/tests/modeltest.cpp new file mode 100644 index 0000000..2a0be35 --- /dev/null +++ b/libdiscover/tests/modeltest.cpp @@ -0,0 +1,552 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include + +#include "modeltest.h" + +#include +#include + +Q_DECLARE_METATYPE ( QModelIndex ) + +/*! + Connect to all of the models signals. Whenever anything happens recheck everything. +*/ +ModelTest::ModelTest ( QAbstractItemModel *_model, QObject *parent ) : QObject ( parent ), model ( _model ), fetchingMore ( false ) +{ + Q_ASSERT ( model ); + + connect(model, &QAbstractItemModel::columnsAboutToBeInserted, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::columnsAboutToBeRemoved, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::columnsInserted, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::columnsRemoved, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::dataChanged, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::headerDataChanged, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::layoutAboutToBeChanged, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::layoutChanged, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::modelReset, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::rowsAboutToBeInserted, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::rowsAboutToBeRemoved, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::rowsInserted, this, &ModelTest::runAllTests); + connect(model, &QAbstractItemModel::rowsRemoved, this, &ModelTest::runAllTests); + + // Special checks for inserting/removing + connect(model, &QAbstractItemModel::layoutAboutToBeChanged, this, &ModelTest::layoutAboutToBeChanged); + connect(model, &QAbstractItemModel::layoutChanged, this, &ModelTest::layoutChanged); + + connect(model, &QAbstractItemModel::rowsAboutToBeInserted, this, &ModelTest::rowsAboutToBeInserted); + connect(model, &QAbstractItemModel::rowsAboutToBeRemoved, this, &ModelTest::rowsAboutToBeRemoved); + connect(model, &QAbstractItemModel::rowsInserted, this, &ModelTest::rowsInserted); + connect(model, &QAbstractItemModel::rowsRemoved, this, &ModelTest::rowsRemoved); + + runAllTests(); +} + +void ModelTest::runAllTests() +{ + if ( fetchingMore ) + return; + nonDestructiveBasicTest(); + rowCount(); + columnCount(); + hasIndex(); + index(); + parent(); + data(); +} + +/*! + nonDestructiveBasicTest tries to call a number of the basic functions (not all) + to make sure the model doesn't outright segfault, testing the functions that makes sense. +*/ +void ModelTest::nonDestructiveBasicTest() +{ + Q_ASSERT ( model->buddy ( QModelIndex() ) == QModelIndex() ); + model->canFetchMore ( QModelIndex() ); + Q_ASSERT ( model->columnCount ( QModelIndex() ) >= 0 ); + Q_ASSERT ( model->data ( QModelIndex() ) == QVariant() ); + fetchingMore = true; + model->fetchMore ( QModelIndex() ); + fetchingMore = false; + Qt::ItemFlags flags = model->flags ( QModelIndex() ); + Q_ASSERT ( flags == Qt::ItemIsDropEnabled || flags == 0 ); + model->hasChildren ( QModelIndex() ); + model->hasIndex ( 0, 0 ); + model->headerData ( 0, Qt::Horizontal ); + model->index ( 0, 0 ); + model->itemData ( QModelIndex() ); + QVariant cache; + model->match ( QModelIndex(), -1, cache ); + model->mimeTypes(); + Q_ASSERT ( model->parent ( QModelIndex() ) == QModelIndex() ); + Q_ASSERT ( model->rowCount() >= 0 ); + QVariant variant; + model->setData ( QModelIndex(), variant, -1 ); + model->setHeaderData ( -1, Qt::Horizontal, QVariant() ); + model->setHeaderData ( 999999, Qt::Horizontal, QVariant() ); + QMap roles; + model->sibling ( 0, 0, QModelIndex() ); + model->span ( QModelIndex() ); + model->supportedDropActions(); +} + +/*! + Tests model's implementation of QAbstractItemModel::rowCount() and hasChildren() + + Models that are dynamically populated are not as fully tested here. + */ +void ModelTest::rowCount() +{ +// qDebug() << "rc"; + // check top row + QModelIndex topIndex = model->index ( 0, 0, QModelIndex() ); + int rows = model->rowCount ( topIndex ); + Q_ASSERT ( rows >= 0 ); + if ( rows > 0 ) + Q_ASSERT ( model->hasChildren ( topIndex ) == true ); + + QModelIndex secondLevelIndex = model->index ( 0, 0, topIndex ); + if ( secondLevelIndex.isValid() ) { // not the top level + // check a row count where parent is valid + rows = model->rowCount ( secondLevelIndex ); + Q_ASSERT ( rows >= 0 ); + if ( rows > 0 ) + Q_ASSERT ( model->hasChildren ( secondLevelIndex ) == true ); + } + + // The models rowCount() is tested more extensively in checkChildren(), + // but this catches the big mistakes +} + +/*! + Tests model's implementation of QAbstractItemModel::columnCount() and hasChildren() + */ +void ModelTest::columnCount() +{ + // check top row + QModelIndex topIndex = model->index ( 0, 0, QModelIndex() ); + Q_ASSERT ( model->columnCount ( topIndex ) >= 0 ); + + // check a column count where parent is valid + QModelIndex childIndex = model->index ( 0, 0, topIndex ); + if ( childIndex.isValid() ) + Q_ASSERT ( model->columnCount ( childIndex ) >= 0 ); + + // columnCount() is tested more extensively in checkChildren(), + // but this catches the big mistakes +} + +/*! + Tests model's implementation of QAbstractItemModel::hasIndex() + */ +void ModelTest::hasIndex() +{ +// qDebug() << "hi"; + // Make sure that invalid values returns an invalid index + Q_ASSERT ( model->hasIndex ( -2, -2 ) == false ); + Q_ASSERT ( model->hasIndex ( -2, 0 ) == false ); + Q_ASSERT ( model->hasIndex ( 0, -2 ) == false ); + + int rows = model->rowCount(); + int columns = model->columnCount(); + + // check out of bounds + Q_ASSERT ( model->hasIndex ( rows, columns ) == false ); + Q_ASSERT ( model->hasIndex ( rows + 1, columns + 1 ) == false ); + + if ( rows > 0 ) + Q_ASSERT ( model->hasIndex ( 0, 0 ) == true ); + + // hasIndex() is tested more extensively in checkChildren(), + // but this catches the big mistakes +} + +/*! + Tests model's implementation of QAbstractItemModel::index() + */ +void ModelTest::index() +{ +// qDebug() << "i"; + // Make sure that invalid values returns an invalid index + Q_ASSERT ( model->index ( -2, -2 ) == QModelIndex() ); + Q_ASSERT ( model->index ( -2, 0 ) == QModelIndex() ); + Q_ASSERT ( model->index ( 0, -2 ) == QModelIndex() ); + + int rows = model->rowCount(); + int columns = model->columnCount(); + + if ( rows == 0 ) + return; + + // Catch off by one errors + Q_ASSERT ( model->index ( rows, columns ) == QModelIndex() ); + Q_ASSERT ( model->index ( 0, 0 ).isValid() == true ); + + // Make sure that the same index is *always* returned + QModelIndex a = model->index ( 0, 0 ); + QModelIndex b = model->index ( 0, 0 ); + Q_ASSERT ( a == b ); + + // index() is tested more extensively in checkChildren(), + // but this catches the big mistakes +} + +/*! + Tests model's implementation of QAbstractItemModel::parent() + */ +void ModelTest::parent() +{ +// qDebug() << "p"; + // Make sure the model wont crash and will return an invalid QModelIndex + // when asked for the parent of an invalid index. + Q_ASSERT ( model->parent ( QModelIndex() ) == QModelIndex() ); + + if ( model->rowCount() == 0 ) + return; + + // Column 0 | Column 1 | + // QModelIndex() | | + // \- topIndex | topIndex1 | + // \- childIndex | childIndex1 | + + // Common error test #1, make sure that a top level index has a parent + // that is a invalid QModelIndex. + QModelIndex topIndex = model->index ( 0, 0, QModelIndex() ); + Q_ASSERT ( model->parent ( topIndex ) == QModelIndex() ); + + // Common error test #2, make sure that a second level index has a parent + // that is the first level index. + if ( model->rowCount ( topIndex ) > 0 ) { + QModelIndex childIndex = model->index ( 0, 0, topIndex ); + Q_ASSERT ( model->parent ( childIndex ) == topIndex ); + } + + // Common error test #3, the second column should NOT have the same children + // as the first column in a row. + // Usually the second column shouldn't have children. + QModelIndex topIndex1 = model->index ( 0, 1, QModelIndex() ); + if ( model->rowCount ( topIndex1 ) > 0 ) { + QModelIndex childIndex = model->index ( 0, 0, topIndex ); + QModelIndex childIndex1 = model->index ( 0, 0, topIndex1 ); + Q_ASSERT ( childIndex != childIndex1 ); + } + + // Full test, walk n levels deep through the model making sure that all + // parent's children correctly specify their parent. + checkChildren ( QModelIndex() ); +} + +/*! + Called from the parent() test. + + A model that returns an index of parent X should also return X when asking + for the parent of the index. + + This recursive function does pretty extensive testing on the whole model in an + effort to catch edge cases. + + This function assumes that rowCount(), columnCount() and index() already work. + If they have a bug it will point it out, but the above tests should have already + found the basic bugs because it is easier to figure out the problem in + those tests then this one. + */ +void ModelTest::checkChildren ( const QModelIndex &parent, int currentDepth ) +{ + // First just try walking back up the tree. + QModelIndex p = parent; + while ( p.isValid() ) + p = p.parent(); + + // For models that are dynamically populated + if ( model->canFetchMore ( parent ) ) { + fetchingMore = true; + model->fetchMore ( parent ); + fetchingMore = false; + } + + int rows = model->rowCount ( parent ); + int columns = model->columnCount ( parent ); + + if ( rows > 0 ) + Q_ASSERT ( model->hasChildren ( parent ) ); + + // Some further testing against rows(), columns(), and hasChildren() + Q_ASSERT ( rows >= 0 ); + Q_ASSERT ( columns >= 0 ); + if ( rows > 0 ) + Q_ASSERT ( model->hasChildren ( parent ) == true ); + + //qDebug() << "parent:" << model->data(parent).toString() << "rows:" << rows + // << "columns:" << columns << "parent column:" << parent.column(); + + Q_ASSERT ( model->hasIndex ( rows + 1, 0, parent ) == false ); + for ( int r = 0; r < rows; ++r ) { + if ( model->canFetchMore ( parent ) ) { + fetchingMore = true; + model->fetchMore ( parent ); + fetchingMore = false; + } + Q_ASSERT ( model->hasIndex ( r, columns + 1, parent ) == false ); + for ( int c = 0; c < columns; ++c ) { + Q_ASSERT ( model->hasIndex ( r, c, parent ) == true ); + QModelIndex index = model->index ( r, c, parent ); + // rowCount() and columnCount() said that it existed... + Q_ASSERT ( index.isValid() == true ); + + // index() should always return the same index when called twice in a row + QModelIndex modifiedIndex = model->index ( r, c, parent ); + Q_ASSERT ( index == modifiedIndex ); + + // Make sure we get the same index if we request it twice in a row + QModelIndex a = model->index ( r, c, parent ); + QModelIndex b = model->index ( r, c, parent ); + Q_ASSERT ( a == b ); + + // Some basic checking on the index that is returned + Q_ASSERT ( index.model() == model ); + Q_ASSERT ( index.row() == r ); + Q_ASSERT ( index.column() == c ); + // While you can technically return a QVariant usually this is a sign + // of an bug in data() Disable if this really is ok in your model. +// Q_ASSERT ( model->data ( index, Qt::DisplayRole ).isValid() == true ); + + // If the next test fails here is some somewhat useful debug you play with. + + if (model->parent(index) != parent) { + qDebug() << r << c << currentDepth << model->data(index).toString() + << model->data(parent).toString(); + qDebug() << index << parent << model->parent(index); +// And a view that you can even use to show the model. +// QTreeView view; +// view.setModel(model); +// view.show(); + } + + // Check that we can get back our real parent. +// qDebug() << model->parent ( index ) << parent ; + Q_ASSERT ( model->parent ( index ) == parent ); + + // recursively go down the children + if ( model->hasChildren ( index ) && currentDepth < 10 ) { + //qDebug() << r << c << "has children" << model->rowCount(index); + checkChildren ( index, ++currentDepth ); + }/* else { if (currentDepth >= 10) qDebug() << "checked 10 deep"; };*/ + + // make sure that after testing the children that the index doesn't change. + QModelIndex newerIndex = model->index ( r, c, parent ); + Q_ASSERT ( index == newerIndex ); + } + } +} + +/*! + Tests model's implementation of QAbstractItemModel::data() + */ +void ModelTest::data() +{ + // Invalid index should return an invalid qvariant + Q_ASSERT ( !model->data ( QModelIndex() ).isValid() ); + + if ( model->rowCount() == 0 ) + return; + + // A valid index should have a valid QVariant data + Q_ASSERT ( model->index ( 0, 0 ).isValid() ); + + // shouldn't be able to set data on an invalid index + Q_ASSERT ( model->setData ( QModelIndex(), QLatin1String ( "foo" ), Qt::DisplayRole ) == false ); + + // General Purpose roles that should return a QString + QVariant variant = model->data ( model->index ( 0, 0 ), Qt::ToolTipRole ); + if ( variant.isValid() ) { + Q_ASSERT ( variant.canConvert() ); + } + variant = model->data ( model->index ( 0, 0 ), Qt::StatusTipRole ); + if ( variant.isValid() ) { + Q_ASSERT ( variant.canConvert() ); + } + variant = model->data ( model->index ( 0, 0 ), Qt::WhatsThisRole ); + if ( variant.isValid() ) { + Q_ASSERT ( variant.canConvert() ); + } + + // General Purpose roles that should return a QSize + variant = model->data ( model->index ( 0, 0 ), Qt::SizeHintRole ); + if ( variant.isValid() ) { + Q_ASSERT ( variant.canConvert() ); + } + + // General Purpose roles that should return a QFont + QVariant fontVariant = model->data ( model->index ( 0, 0 ), Qt::FontRole ); + if ( fontVariant.isValid() ) { + Q_ASSERT ( fontVariant.canConvert() ); + } + + // Check that the alignment is one we know about + QVariant textAlignmentVariant = model->data ( model->index ( 0, 0 ), Qt::TextAlignmentRole ); + if ( textAlignmentVariant.isValid() ) { + int alignment = textAlignmentVariant.toInt(); + Q_ASSERT ( alignment == ( alignment & ( Qt::AlignHorizontal_Mask | Qt::AlignVertical_Mask ) ) ); + } + + // General Purpose roles that should return a QColor + QVariant colorVariant = model->data ( model->index ( 0, 0 ), Qt::BackgroundColorRole ); + if ( colorVariant.isValid() ) { + Q_ASSERT ( colorVariant.canConvert() ); + } + + colorVariant = model->data ( model->index ( 0, 0 ), Qt::TextColorRole ); + if ( colorVariant.isValid() ) { + Q_ASSERT ( colorVariant.canConvert() ); + } + + // Check that the "check state" is one we know about. + QVariant checkStateVariant = model->data ( model->index ( 0, 0 ), Qt::CheckStateRole ); + if ( checkStateVariant.isValid() ) { + int state = checkStateVariant.toInt(); + Q_ASSERT ( state == Qt::Unchecked || + state == Qt::PartiallyChecked || + state == Qt::Checked ); + } +} + +/*! + Store what is about to be inserted to make sure it actually happens + + \sa rowsInserted() + */ +void ModelTest::rowsAboutToBeInserted ( const QModelIndex &parent, int start, int end ) +{ + Q_ASSERT(start <= end); +// Q_UNUSED(end); +// qDebug() << "rowsAboutToBeInserted" << "start=" << start << "end=" << end << "parent=" << model->data ( parent ).toString() +// << "current count of parent=" << model->rowCount ( parent ); // << "display of last=" << model->data( model->index(start-1, 0, parent) ); +// qDebug() << model->index(start-1, 0, parent) << model->data( model->index(start-1, 0, parent) ); + Changing c; + c.parent = parent; + c.oldSize = model->rowCount ( parent ); + c.last = model->data ( model->index ( start - 1, 0, parent ) ); + c.next = model->data ( model->index ( start, 0, parent ) ); + insert.push ( c ); +} + +/*! + Confirm that what was said was going to happen actually did + + \sa rowsAboutToBeInserted() + */ +void ModelTest::rowsInserted ( const QModelIndex & parent, int start, int end ) +{ + Changing c = insert.pop(); + Q_ASSERT ( c.parent == parent ); +// qDebug() << "rowsInserted" << "start=" << start << "end=" << end << "oldsize=" << c.oldSize +// << "parent=" << model->data ( parent ).toString() << "current rowcount of parent=" << model->rowCount ( parent ); + + if (c.oldSize + ( end - start + 1 ) != model->rowCount ( parent )) { + for (int ii=start; ii <= end; ii++) + { + qDebug() << "itemWasInserted:" << ii << model->data ( model->index ( ii, 0, parent )); + } + qDebug(); + } + + Q_ASSERT ( c.oldSize + ( end - start + 1 ) == model->rowCount ( parent ) ); + Q_ASSERT ( c.last == model->data ( model->index ( start - 1, 0, c.parent ) ) ); + + if (c.next != model->data(model->index(end + 1, 0, c.parent))) { + qDebug() << start << end; + for (int i=0; i < model->rowCount(); ++i) + qDebug() << model->index(i, 0).data().toString(); + qDebug() << c.next << model->data(model->index(end + 1, 0, c.parent)); + } + + Q_ASSERT ( c.next == model->data ( model->index ( end + 1, 0, c.parent ) ) ); +} + +void ModelTest::layoutAboutToBeChanged() +{ + for ( int i = 0; i < qBound ( 0, model->rowCount(), 100 ); ++i ) + changing.append ( QPersistentModelIndex ( model->index ( i, 0 ) ) ); +} + +void ModelTest::layoutChanged() +{ + for ( int i = 0; i < changing.count(); ++i ) { + QPersistentModelIndex p = changing[i]; + Q_ASSERT ( p == model->index ( p.row(), p.column(), p.parent() ) ); + } + changing.clear(); +} + +/*! + Store what is about to be inserted to make sure it actually happens + + \sa rowsRemoved() + */ +void ModelTest::rowsAboutToBeRemoved ( const QModelIndex &parent, int start, int end ) +{ +qDebug() << "ratbr" << parent << start << end; + Changing c; + c.parent = parent; + c.oldSize = model->rowCount ( parent ); + c.last = model->data ( model->index ( start - 1, 0, parent ) ); + c.next = model->data ( model->index ( end + 1, 0, parent ) ); + remove.push ( c ); +} + +/*! + Confirm that what was said was going to happen actually did + + \sa rowsAboutToBeRemoved() + */ +void ModelTest::rowsRemoved ( const QModelIndex & parent, int start, int end ) +{ + qDebug() << "rr" << parent << start << end; + Changing c = remove.pop(); + Q_ASSERT ( c.parent == parent ); + Q_ASSERT ( c.oldSize - ( end - start + 1 ) == model->rowCount ( parent ) ); + Q_ASSERT ( c.last == model->data ( model->index ( start - 1, 0, c.parent ) ) ); + Q_ASSERT ( c.next == model->data ( model->index ( start, 0, c.parent ) ) ); +} + + diff --git a/libdiscover/tests/modeltest.h b/libdiscover/tests/modeltest.h new file mode 100644 index 0000000..09b02a3 --- /dev/null +++ b/libdiscover/tests/modeltest.h @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#ifndef MODELTEST_H +#define MODELTEST_H + +#include +#include +#include + +class ModelTest : public QObject +{ + Q_OBJECT + +public: + ModelTest( QAbstractItemModel *model, QObject *parent = nullptr ); + +private Q_SLOTS: + void nonDestructiveBasicTest(); + void rowCount(); + void columnCount(); + void hasIndex(); + void index(); + void parent(); + void data(); + +protected Q_SLOTS: + void runAllTests(); + void layoutAboutToBeChanged(); + void layoutChanged(); + void rowsAboutToBeInserted( const QModelIndex &parent, int start, int end ); + void rowsInserted( const QModelIndex & parent, int start, int end ); + void rowsAboutToBeRemoved( const QModelIndex &parent, int start, int end ); + void rowsRemoved( const QModelIndex & parent, int start, int end ); + +private: + void checkChildren( const QModelIndex &parent, int currentDepth = 0 ); + + QAbstractItemModel *model; + + struct Changing { + QModelIndex parent; + int oldSize; + QVariant last; + QVariant next; + }; + QStack insert; + QStack remove; + + bool fetchingMore; + + QList changing; +}; + +#endif diff --git a/libdiscover/utils.h b/libdiscover/utils.h new file mode 100644 index 0000000..07d3072 --- /dev/null +++ b/libdiscover/utils.h @@ -0,0 +1,120 @@ +/*************************************************************************** + * Copyright ?? 2012 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef UTILS_H +#define UTILS_H + +#include +#include +#include + +class OneTimeAction : public QObject +{ +public: + OneTimeAction(std::function func, QObject* parent) : QObject(parent), m_function(func) {} + + void trigger() { + m_function(); + deleteLater(); + } + +private: + std::function m_function; +}; + +template +static T kTransform(const Q &input, _UnaryOperation op) +{ + T ret; + ret.reserve(input.size()); + for(const auto& v : input) { + ret += op(v); + } + return ret; +} + +template +static T kFilter(const Q &input, _UnaryOperation op) +{ + T ret; + for(const auto& v : input) { + if (op(v)) + ret += v; + } + return ret; +} + +template +static int kIndexOf(const Q& list, W func) +{ + int i = 0; + for (auto it = list.constBegin(), itEnd = list.constEnd(); it!=itEnd; ++it) { + if (func(*it)) + return i; + ++i; + } + return -1; +} + +template +static bool kContains(const Q& list, W func) +{ return kIndexOf(list, func) != -1; } + +template +static QVector kSetToVector(const QSet & set) +{ + QVector ret; + ret.reserve(set.size()); + for(auto &x: set) + ret.append(x); + return ret; +} + +template +static QSet kVectorToSet(const QVector & set) +{ + QSet ret; + ret.reserve(set.size()); + for(auto &x: set) + ret.insert(x); + return ret; +} + +class ElapsedDebug : private QElapsedTimer +{ +public: + ElapsedDebug(const QString &name = QStringLiteral("")) : m_name(name) { start(); } + ~ElapsedDebug() { qDebug("elapsed %s: %lld!", m_name.toUtf8().constData(), elapsed()); } + void step(const QString &step) { qDebug("step %s(%s): %lld!", m_name.toUtf8().constData(), qPrintable(step), elapsed()); } + + QString m_name; +}; + +class CallOnDestroy : public QObject +{ +public: + CallOnDestroy(std::function f) : m_func(std::move(f)) {} + ~CallOnDestroy() { m_func(); } + +private: + std::function m_func; +}; + +#endif diff --git a/notifier/BackendNotifierFactory.cpp b/notifier/BackendNotifierFactory.cpp new file mode 100644 index 0000000..582bcab --- /dev/null +++ b/notifier/BackendNotifierFactory.cpp @@ -0,0 +1,51 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "BackendNotifierFactory.h" +#include +#include +#include +#include +#include + +BackendNotifierFactory::BackendNotifierFactory() = default; + +QList BackendNotifierFactory::allBackends() const +{ + QList ret; + + foreach(const QString& path, QCoreApplication::instance()->libraryPaths()) { + QDir dir(path + QStringLiteral("/discover-notifier/")); + foreach(const QString& file, dir.entryList(QDir::Files)) { + QString fullPath = dir.absoluteFilePath(file); + QPluginLoader loader(fullPath); + loader.load(); + ret += qobject_cast(loader.instance()); + if (ret.last() == nullptr) { + qWarning() << "couldn't load" << fullPath << "because" << loader.errorString(); + ret.removeLast(); + } + } + } + if (ret.isEmpty()) + qWarning() << "couldn't find any notifier backend" << QCoreApplication::instance()->libraryPaths(); + + return ret; +} diff --git a/notifier/BackendNotifierFactory.h b/notifier/BackendNotifierFactory.h new file mode 100644 index 0000000..5da90ea --- /dev/null +++ b/notifier/BackendNotifierFactory.h @@ -0,0 +1,37 @@ +/*************************************************************************** + * Copyright © 2013 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef BACKENDNOTIFIERFACTORY_H +#define BACKENDNOTIFIERFACTORY_H + +#include +#include + +class BackendNotifierModule; + +class BackendNotifierFactory +{ +public: + BackendNotifierFactory(); + + QList allBackends() const; +}; + +#endif // BACKENDNOTIFIERFACTORY_H diff --git a/notifier/CMakeLists.txt b/notifier/CMakeLists.txt new file mode 100644 index 0000000..e139206 --- /dev/null +++ b/notifier/CMakeLists.txt @@ -0,0 +1,22 @@ +add_definitions(-DTRANSLATION_DOMAIN=\"plasma-discover-notifier\") + +add_library(DiscoverNotifierDeclarativePlugin BackendNotifierFactory.cpp DiscoverNotifier.cpp DiscoverNotifierDeclarativePlugin.cpp) +target_link_libraries(DiscoverNotifierDeclarativePlugin + KF5::Notifications + KF5::ConfigCore + KF5::I18n + KF5::KIOWidgets + Qt5::Qml + Qt5::DBus + + Discover::Notifiers +) +set_target_properties(DiscoverNotifierDeclarativePlugin PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover) + +install(TARGETS DiscoverNotifierDeclarativePlugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/discovernotifier) +install(FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/discovernotifier) + +find_package(KF5Plasma) +if(KF5Plasma_FOUND) + plasma_install_package(plasmoid org.kde.discovernotifier) +endif() diff --git a/notifier/DiscoverNotifier.cpp b/notifier/DiscoverNotifier.cpp new file mode 100644 index 0000000..279fd6a --- /dev/null +++ b/notifier/DiscoverNotifier.cpp @@ -0,0 +1,217 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#include "DiscoverNotifier.h" +#include "BackendNotifierFactory.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DiscoverNotifier::DiscoverNotifier(QObject * parent) + : QObject(parent) + , m_verbose(false) +{ + configurationChanged(); + + m_backends = BackendNotifierFactory().allBackends(); + foreach(BackendNotifierModule* module, m_backends) { + connect(module, &BackendNotifierModule::foundUpdates, this, &DiscoverNotifier::updateStatusNotifier); + connect(module, &BackendNotifierModule::needsRebootChanged, this, [this]() { + if (!m_needsReboot) { + m_needsReboot = true; + showRebootNotification(); + Q_EMIT updatesChanged(); + } + }); + } + connect(&m_timer, &QTimer::timeout, this, &DiscoverNotifier::showUpdatesNotification); + m_timer.setSingleShot(true); + m_timer.setInterval(1000); + updateStatusNotifier(); +} + +DiscoverNotifier::~DiscoverNotifier() = default; + +void DiscoverNotifier::configurationChanged() +{ + KConfig notifierConfig(QStringLiteral("plasma-discover-notifierrc"), KConfig::NoGlobals); + + KConfigGroup notifyTypeGroup(¬ifierConfig, "NotificationType"); + m_verbose = notifyTypeGroup.readEntry("Verbose", false); +} + +void DiscoverNotifier::showDiscover() +{ + KRun::runCommand(QStringLiteral("plasma-discover"), nullptr); +} + +void DiscoverNotifier::showDiscoverUpdates() +{ + KRun::runCommand(QStringLiteral("plasma-discover --mode update"), nullptr); +} + +void DiscoverNotifier::showUpdatesNotification() +{ + if (state()==NoUpdates) { + //it's not very helpful to notify that everyting is in order + return; + } + + auto e = KNotification::event(QStringLiteral("Update"), message(), extendedMessage(), iconName(), nullptr, KNotification::CloseOnTimeout, QStringLiteral("discoverabstractnotifier")); + const QString name = i18n("Update"); + e->setDefaultAction(name); + e->setActions({name}); + connect(e, QOverload::of(&KNotification::activated), this, &DiscoverNotifier::showDiscoverUpdates); +} + +void DiscoverNotifier::updateStatusNotifier() +{ + uint securityCount = 0; + for (BackendNotifierModule* module: m_backends) + securityCount += module->securityUpdatesCount(); + + uint count = securityCount; + foreach(BackendNotifierModule* module, m_backends) + count += module->updatesCount(); + + if (m_count == count && m_securityCount == securityCount) + return; + + if (state() != NoUpdates && count > m_count) { + m_timer.start(); + } + + m_securityCount = securityCount; + m_count = count; + emit updatesChanged(); +} + +DiscoverNotifier::State DiscoverNotifier::state() const +{ + if (m_needsReboot) + return RebootRequired; + else if (m_securityCount) + return SecurityUpdates; + else if (m_count) + return NormalUpdates; + else + return NoUpdates; +} + +QString DiscoverNotifier::iconName() const +{ + switch(state()) { + case SecurityUpdates: + return QStringLiteral("update-high"); + case NormalUpdates: + return QStringLiteral("update-low"); + case NoUpdates: + return QStringLiteral("update-none"); + case RebootRequired: + return QStringLiteral("system-reboot"); + } + return QString(); +} + +QString DiscoverNotifier::message() const +{ + switch(state()) { + case SecurityUpdates: + return i18n("Security updates available"); + case NormalUpdates: + return i18n("Updates available"); + case NoUpdates: + return i18n("System up to date"); + case RebootRequired: + return i18n("Computer needs to restart"); + } + return QString(); +} + +QString DiscoverNotifier::extendedMessage() const +{ + if (m_count > 0 && m_securityCount > 0) { + QString allUpdates = i18ncp("First part of '%1, %2'", + "1 package to update", "%1 packages to update", m_count); + + QString securityUpdates = i18ncp("Second part of '%1, %2'", + "of which 1 is security update", "of which %1 are security updates", m_securityCount); + + return i18nc("%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'", + "%1, %2", allUpdates, securityUpdates); + } else if (m_count > 0) { + return i18np("1 package to update", "%1 packages to update", m_count); + } else if (m_securityCount > 0) { + return i18np("1 security update", "%1 security updates", m_securityCount); + } else { + return i18n("No packages to update"); + } +} + +void DiscoverNotifier::recheckSystemUpdateNeeded() +{ + foreach(BackendNotifierModule* module, m_backends) + module->recheckSystemUpdateNeeded(); +} + +uint DiscoverNotifier::securityUpdatesCount() const +{ + return m_securityCount; +} + +uint DiscoverNotifier::updatesCount() const +{ + return m_count; +} + +QStringList DiscoverNotifier::loadedModules() const +{ + QStringList ret; + for(BackendNotifierModule* module : m_backends) + ret += QString::fromLatin1(module->metaObject()->className()); + return ret; +} + +void DiscoverNotifier::showRebootNotification() +{ + KNotification *notification = new KNotification(QLatin1String("notification"), KNotification::Persistent | KNotification::DefaultEvent); + notification->setIconName(QStringLiteral("system-software-update")); + notification->setActions(QStringList{QLatin1String("Restart")}); + notification->setTitle(i18n("Restart is required")); + notification->setText(i18n("The system needs to be restarted for the updates to take effect.")); + + connect(notification, &KNotification::action1Activated, this, [] () { + QDBusInterface interface(QStringLiteral("org.kde.ksmserver"), QStringLiteral("/KSMServer"), QStringLiteral("org.kde.KSMServerInterface"), QDBusConnection::sessionBus()); + interface.asyncCall(QStringLiteral("logout"), 0, 1, 2); // Options: do not ask again | reboot | force + }); + + notification->sendEvent(); +} + +bool DiscoverNotifier::isSystemUpToDate() const +{ + return m_count==0 && m_securityCount==0; +} diff --git a/notifier/DiscoverNotifier.h b/notifier/DiscoverNotifier.h new file mode 100644 index 0000000..1114668 --- /dev/null +++ b/notifier/DiscoverNotifier.h @@ -0,0 +1,87 @@ +/*************************************************************************** + * Copyright © 2014 Aleix Pol Gonzalez * + * * + * 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) version 3 or any later version * + * accepted by the membership of KDE e.V. (or its successor approved * + * by the membership of KDE e.V.), which shall act as a proxy * + * defined in Section 14 of version 3 of the license. * + * * + * 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, see . * + ***************************************************************************/ + +#ifndef DISCOVERNOTIFIERMODULE_H +#define DISCOVERNOTIFIERMODULE_H + +#include +#include +#include + +class KStatusNotifierItem; + +class DiscoverNotifier : public QObject +{ +Q_OBJECT +Q_PROPERTY(QStringList modules READ loadedModules CONSTANT) +Q_PROPERTY(bool isSystemUpToDate READ isSystemUpToDate NOTIFY updatesChanged) +Q_PROPERTY(QString iconName READ iconName NOTIFY updatesChanged) +Q_PROPERTY(QString message READ message NOTIFY updatesChanged) +Q_PROPERTY(QString extendedMessage READ extendedMessage NOTIFY updatesChanged) +Q_PROPERTY(State state READ state NOTIFY updatesChanged) +public: + enum State { + NoUpdates, + NormalUpdates, + SecurityUpdates, + RebootRequired + }; + Q_ENUM(State) + + explicit DiscoverNotifier(QObject* parent = nullptr); + ~DiscoverNotifier() override; + + bool isSystemUpToDate() const; + + State state() const; + QString iconName() const; + QString message() const; + QString extendedMessage() const; + /*** @returns count of normal updates only **/ + uint updatesCount() const; + /*** @returns count of security updates only **/ + uint securityUpdatesCount() const; + + QStringList loadedModules() const; + +public Q_SLOTS: + void configurationChanged(); + void recheckSystemUpdateNeeded(); + void showDiscover(); + void showDiscoverUpdates(); + void showUpdatesNotification(); + +Q_SIGNALS: + void updatesChanged(); + +private: + void showRebootNotification(); + void updateStatusNotifier(); + void loadBackends(); + + QList m_backends; + bool m_verbose; + QTimer m_timer; + uint m_securityCount = 0; + uint m_count = 0; + bool m_needsReboot = false; +}; + +#endif //ABSTRACTKDEDMODULE_H diff --git a/notifier/DiscoverNotifierDeclarativePlugin.cpp b/notifier/DiscoverNotifierDeclarativePlugin.cpp new file mode 100644 index 0000000..77858cf --- /dev/null +++ b/notifier/DiscoverNotifierDeclarativePlugin.cpp @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2014 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#include "DiscoverNotifierDeclarativePlugin.h" +#include "DiscoverNotifier.h" + +#include + +void DiscoverNotifierDeclarativePlugin::registerTypes(const char* uri) +{ + qmlRegisterSingletonType(uri, 1, 0, "DiscoverNotifier", [](QQmlEngine*, QJSEngine*) -> QObject* { return new DiscoverNotifier; }); +} diff --git a/notifier/DiscoverNotifierDeclarativePlugin.h b/notifier/DiscoverNotifierDeclarativePlugin.h new file mode 100644 index 0000000..4f4a7e1 --- /dev/null +++ b/notifier/DiscoverNotifierDeclarativePlugin.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2014 Aleix Pol Gonzalez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library/Lesser General Public License + * version 2, or (at your option) any later version, as published by the + * Free Software Foundation + * + * 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 Library/Lesser 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. + */ + +#ifndef DISCOVERNOTIFIERDECLARATIVEPLUGIN_H +#define DISCOVERNOTIFIERDECLARATIVEPLUGIN_H + +#include + +class DiscoverNotifierDeclarativePlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") + public: + void registerTypes(const char* /*uri*/) override; +}; + +#endif diff --git a/notifier/plasmoid/Messages.sh b/notifier/plasmoid/Messages.sh new file mode 100755 index 0000000..845a817 --- /dev/null +++ b/notifier/plasmoid/Messages.sh @@ -0,0 +1,2 @@ +#!/bin/sh +$XGETTEXT `find . -name \*.qml -o -name \*.js` -o $podir/plasma_applet_org.kde.discovernotifier.pot diff --git a/notifier/plasmoid/contents/ui/Full.qml b/notifier/plasmoid/contents/ui/Full.qml new file mode 100644 index 0000000..722d611 --- /dev/null +++ b/notifier/plasmoid/contents/ui/Full.qml @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright (C) 2013 by Aleix Pol Gonzalez * + * * + * 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 QtQuick 2.1 +import QtQuick.Layouts 1.1 +import org.kde.plasma.extras 2.0 as PlasmaExtras +import org.kde.plasma.components 2.0 +import org.kde.discovernotifier 1.0 + +Item { + + PlasmaExtras.Heading { + width: parent.width + level: 3 + wrapMode: Text.WordWrap + text: DiscoverNotifier.message + } + + ColumnLayout { + anchors.verticalCenter: parent.verticalCenter + width: parent.width + spacing: units.smallSpacing * 2 + + Label { + visible: !DiscoverNotifier.isSystemUpToDate + Layout.fillWidth: true + wrapMode: Text.WordWrap + horizontalAlignment: Text.AlignHCenter + text: DiscoverNotifier.extendedMessage + } + Button { + visible: !DiscoverNotifier.isSystemUpToDate + Layout.alignment: Qt.AlignHCenter + iconSource: DiscoverNotifier.iconName + text: i18n("View Updates") + tooltip: i18n("Launches Discover to update the software") + onClicked: DiscoverNotifier.showDiscoverUpdates() + } + } +} diff --git a/notifier/plasmoid/contents/ui/main.qml b/notifier/plasmoid/contents/ui/main.qml new file mode 100644 index 0000000..ba1cc3a --- /dev/null +++ b/notifier/plasmoid/contents/ui/main.qml @@ -0,0 +1,52 @@ +/*************************************************************************** + * Copyright (C) 2014 by Aleix Pol Gonzalez * + * * + * 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 QtQuick 2.2 +import org.kde.plasma.plasmoid 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.discovernotifier 1.0 + +Item +{ + Plasmoid.fullRepresentation: Full {} + Plasmoid.icon: DiscoverNotifier.iconName + Plasmoid.toolTipSubText: DiscoverNotifier.message + Plasmoid.status: { + switch (DiscoverNotifier.state) { + case DiscoverNotifier.NoUpdates: + return PlasmaCore.Types.PassiveStatus; + case DiscoverNotifier.NormalUpdates: + case DiscoverNotifier.SecurityUpdates: + case DiscoverNotifier.RebootRequired: + return PlasmaCore.Types.ActiveStatus; + } + } + + Component.onCompleted: { + plasmoid.setAction("discover", i18n("Open Software Center..."), "plasma-discover"); + plasmoid.setAction("update", i18n("See Updates..."), "system-software-update"); + } + + function action_discover() { + DiscoverNotifier.showDiscover(); + } + function action_update() { + DiscoverNotifier.showDiscoverUpdates(); + } +} diff --git a/notifier/plasmoid/metadata.desktop b/notifier/plasmoid/metadata.desktop new file mode 100644 index 0000000..6f070bc --- /dev/null +++ b/notifier/plasmoid/metadata.desktop @@ -0,0 +1,103 @@ +[Desktop Entry] +Name=Updates +Name[ar]=التّحديثات +Name[ca]=Actualitzacions +Name[ca@valencia]=Actualitzacions +Name[cs]=Aktualizace +Name[da]=Opdateringer +Name[de]=Aktualisierungen +Name[el]=Ενημερώσεις +Name[en_GB]=Updates +Name[es]=Actualizaciones +Name[et]=Uuendused +Name[eu]=Eguneraketak +Name[fi]=Päivitykset +Name[fr]=Mises à jour +Name[gl]=Actualizacións +Name[he]=עדכונים +Name[hu]=Frissítések +Name[ia]=Actualisationes +Name[id]=Update +Name[it]=Aggiornamenti +Name[ko]=업데이트 +Name[nb]=Oppdateringer +Name[nl]=Elementen voor bijwerken +Name[nn]=Oppdateringar +Name[pa]=ਅੱਪਡੇਟ +Name[pl]=Uaktualnienia +Name[pt]=Actualizações +Name[pt_BR]=Atualizações +Name[ru]=Обновления +Name[sk]=Aktualizácie +Name[sl]=Posodobitve +Name[sr]=Допуне +Name[sr@ijekavian]=Допуне +Name[sr@ijekavianlatin]=Dopune +Name[sr@latin]=Dopune +Name[sv]=Uppdateringar +Name[tr]=Güncellemeler +Name[uk]=Оновлення +Name[x-test]=xxUpdatesxx +Name[zh_CN]=更新 +Name[zh_TW]=更新 +Comment=Helps you keep your system up to date +Comment[ar]=يساعدك في إبقاء نظامك محدّثًا +Comment[ca]=Us ajuda a mantenir el vostre sistema al dia +Comment[ca@valencia]=Vos ajuda a mantindre el vostre sistema al dia +Comment[cs]=Umožňuje vám zachovat systém aktuální +Comment[da]=Hjælper dig med at holde dit system opdateret +Comment[de]=Hilft Ihnen, Ihr System auf dem neusten Stand zu halten +Comment[el]=Βοηθά να διατηρήσετε το σύστημά σας ενημερωμένο +Comment[en_GB]=Helps you keep your system up to date +Comment[es]=Le ayuda a mantener su sistema al día +Comment[et]=Aitab hoida süsteemi värske +Comment[eu]=Zure sistema egunean mantentzen laguntzen dizu +Comment[fi]=Auttaa pitämään järjestelmäsi ajan tasalla +Comment[fr]=Vous aide à maintenir le système à jour +Comment[gl]=Axúdao a manter o seu sistema actualizado. +Comment[he]=עוזר לך לשמור על המערכת מעודכנת +Comment[hu]=Segít a rendszere naprakészen tartásában +Comment[id]=Membantu kamu menjaga komputermu selalu terupdate +Comment[it]=Ti aiuta a mantenere il sistema aggiornato +Comment[ko]=시스템을 최신 상태로 유지합니다 +Comment[nb]=Hjelper til Ã¥ holde systemet oppdatert +Comment[nl]=Helpt u om uw system bijgewerkt te houden +Comment[nn]=Hjelper til Ã¥ halda systemet oppdatert +Comment[pa]=ਤੁਹਾਡੇ ਸਿਸਟਮ ਨੂੰ ਅੱਪਡੇਟ ਰੱਖਣ ਲਈ ਤੁਹਾਡੀ ਮਦਦ ਕਰਦਾ ਹੈ +Comment[pl]=Pomaga utrzymać twój system aktualnym +Comment[pt]=Ajuda-o a manter o seu sistema actualizado +Comment[pt_BR]=Ajuda-o a manter seu sistema atualizado +Comment[ru]=Помогает поддерживать систему в актуальном состоянии +Comment[sk]=Pomôže vám udržiavaÅ¥ váš systém aktuálny +Comment[sl]=Pomaga vam ohraniti posodobljen sistem +Comment[sr]=Помаже вам да одржавате систем ажурним +Comment[sr@ijekavian]=Помаже вам да одржавате систем ажурним +Comment[sr@ijekavianlatin]=Pomaže vam da održavate sistem ažurnim +Comment[sr@latin]=Pomaže vam da održavate sistem ažurnim +Comment[sv]=Hjälper dig hÃ¥lla systemet uppdaterat +Comment[tr]=Sisteminizin güncel kalmasını sağlar +Comment[uk]=Допомагає підтримувати актуальний стан вашої системи +Comment[x-test]=xxHelps you keep your system up to datexx +Comment[zh_CN]=帮助您保持系统更新 +Comment[zh_TW]=協助您的系統更新到最新狀態 +Encoding=UTF-8 + +Icon=system-software-update +Type=Service + +X-KDE-ServiceTypes=Plasma/Applet +X-KDE-PluginInfo-Author=The Plasma Team +X-KDE-PluginInfo-Email=plasma-devel@kde.org +X-KDE-PluginInfo-Name=org.kde.discovernotifier +X-KDE-PluginInfo-Version=3.0 +X-KDE-PluginInfo-Website=https://www.kde.org/plasma-desktop +X-KDE-PluginInfo-Category=Online Services +X-KDE-PluginInfo-Depends= +X-KDE-PluginInfo-License=GPLv2+ +X-KDE-PluginInfo-EnabledByDefault=true + +X-Plasma-API=declarativeappletscript +X-Plasma-MainScript=ui/main.qml +X-Plasma-NotificationArea=true +X-Plasma-Requires-FileDialog=Unused +X-Plasma-Requires-LaunchApp=Required diff --git a/notifier/qmldir b/notifier/qmldir new file mode 100644 index 0000000..ee5eafc --- /dev/null +++ b/notifier/qmldir @@ -0,0 +1,3 @@ +module org.kde.discovernotifier + +plugin DiscoverNotifierDeclarativePlugin diff --git a/po/ar/libdiscover.po b/po/ar/libdiscover.po new file mode 100644 index 0000000..725c83d --- /dev/null +++ b/po/ar/libdiscover.po @@ -0,0 +1,2726 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Safa Alfulaij , 2013, 2015, ٢٠١٥, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-01-21 09:45+0300\n" +"Last-Translator: Safa Alfulaij \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "التّطبيقات" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "الإكسسوارات" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "الإتاحة" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "أدوات المطوّر" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "التّنقيح" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "تصميم الواجهات الرّسوميّة" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "بيئات التّطوير المتكاملة" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "التّوطين" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "التّحليل البرمجيّ" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "تطوير الوِبّ" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "التّعليم" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "الهندسة والعلوم" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "الفلك" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "الأحياء" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "الكيمياء" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "علم الحاسوب والرّوبوتات" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "الإلكترونيّات" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "الهندسة" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "الجغرافيا" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "الطّبيعة" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "الرّياضيّات" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "الفيزياء" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "الألعاب" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "الممرّات" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "ألعاب الألواح" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "ألعاب الورق" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "الأحاجي" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "ألعاب تقمّص الأدوار" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "المحاكاة" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "الرياضة" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "التّطبيقات" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "المحاكاة" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "الرّسوميّات" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "ثلاثيّات الأبعاد" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "الرّسم" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "التّلوين والتّحرير" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "التّصوير الفوتوغرافيّ" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "النّشر" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "المسح الضّوئيّ والتّعرّف على الكتابة" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "العارضات" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "الشّابكة" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "المحادثة" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "مشاركة الملفّات" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "البريد" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "متصفّحات الوِبّ" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "الوسائط المتعدّدة" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "المكتب" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "إعدادات النّظام" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "إضافات بلازما" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "ودجات بلازما" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "الخطوط" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "فئة دمية" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "دمية" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "إضافات دمية" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "دمية Ù¡" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "دمية بها أشياء" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "دمية ٢٫١" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "دمية ببعض الأشياء" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "دمية Ù£" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "دمية Ù¤" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "‏%1 ‏(%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "حزمة محليّة" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "مسار appstream ‏’%1‘ مشوّه" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "مجهول" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "يجلب معلومات الحجم" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "الحجم مجهول" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 للتّنزيل، %2 على القرص" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 على القرص" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "أضف فلات‌هَب" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "تعذّرت إضافة المصدر %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "معرّف مستودع فلاتپاك (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "اقبل اتّفاقيّة المستخدم النّهائي" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"تطلب الحزمة %1 وبائعها %2 قبول رخصتهم:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "سَند %1 غير صالح، راجع توزيعتك." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "إضافات بلازما" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "إضافات التّطبيقات" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "معرّف «أشياء جديدة» خطأ: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "معلومات ولوج %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "تحقّق من أنّ Appstream مضبوط كما ينبغي في النّظام" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "نفذت الذّاكرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "لا اتّصال شبكة متوفّر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "العمليّة غير مدعومة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "خطأ داخليّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "فشل GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "معرّف الحزمة غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "الحزمة غير مثبّتة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "لم يُعثر على الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "الحزمة مثبّتة بالفعل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "فشل تنزيل الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "لم يُعثر على مجموعة الحزم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "قائمة مجموعة الحزم غير صالحة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "فشل حلّ الاعتماديّات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "المرشّح غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "فشل أثناء إنشاء خيط" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "فشلت العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "أُلغيت العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "لا خبيئة متوفّرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "تعذّر العثور على المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "لا يمكن إزالة حزمة نظام" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "انهار عفريت عُدّة الحزم PackageKit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "خطأ تمهيد" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "فشل تمهيد العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "فشل تحليل الضّبط" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "تعذّر إلغاء العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "تعذّر الحصول على القفل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "لا حزم لتحديثها" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "تعذّرت كتابة ضبط المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "فشل التّثبيت المحلّيّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "عُثر على توقيع GPG سيّئ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "لم يُعثر على توقيع GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "تعذّر تثبيت الحزمة المصدر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "خطأ في ضبط المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "لا اتّفاقيّة ترخيص" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "عُثر على تضارب ملفّات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "عُثر على تضارب حزم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "المستودع غير متوفّر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "ملفّ الحزمة غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "مُنع تثبيت الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "عُثر على حزمة معطوبة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "كلّ الحزم مثبّتة بالفعل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "لم يُعثر على الملفّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "لا مرايا أكثر متوفّرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "لا بيانات لترقية التّوزيعة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "معماريّة غير متوافقة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "لم تبقَ مساحة على الجهاز" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "تغيير الوسيط مطلوب" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "لا استيثاق لديك لتنفيذ هذه العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "لم يُعثر على التّحديث" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "لا يمكن التّثبيت من مستودع غير موقّع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "لا يمكن التّحديث من مستودع غير موقّع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "تعذّر الحصول على قائمة الملفّات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "تعذّر الحصول على المطلوبات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "تعذّر تعطيل المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "اكتُشف تقييد التّنزيل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "فشل ضبط الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "فشل بناء الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "فشل تثبيت الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "فشلت إزالة الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "فشل التّحديث بسبب عمليّة تعمل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "تغيّرت قاعدة بيانات الحزم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "النّوع الموفّر غير مدعوم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "جذر التّثبيت غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "تعذّر جلب المصادر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "أُلغيت الأولويّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "عمليّة لم تنته" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "القفل مطلوب" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "الخطأ %1 مجهول." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "تغيّر '%1' وهو يقترح إعادة تشغيله." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "يقترح تغيير لِـ'%1' إعادة تشغيل الجلسة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "حُدّث '%1' لأسباب أمنيّة، لذا إعادة تشغيل الجلسة مستحسن." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "حُدّث '%1' لأسباب أمنيّة، لذا إعادة تشغيل النّظام مستحسن." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "يقترح تغيير لِـ'%1' إعادة إقلاع النّظام." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "يجب أن يُعاد تشغيل التّطبيق." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "يجب أن يُعاد تشغيل الجلسة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "يجب أن يُعاد إقلاع النّظام." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "للأمان، يجب أن يُعاد تشغيل الجلسة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "للأمان، يجب أن يُعاد تشغيل النّظام." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "ينتظر..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "يحدّث الخبيئة..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "يعدّ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "يعالج..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "يزيل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "ينزّل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "يثبّت..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "يحدّث..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "ينظّف..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "يحلّ الاعتماديّات..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "يتأكّد من التّواقيع..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "يختبر الإيداع..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "يودع..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "انتهى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "أُلغي" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "ينتظر القفل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "ينتظر الاستيثاق..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "ينسخ ملفّات..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "حالة مجهولة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "نحن ننتظر شيئًا." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "يعدّ العمليّة..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "العمليّة تعمل حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "العمليّة تزيل الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "العمليّة تنزّل الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "العمليّات تثبّت الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "العمليّة تحدّث الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "العمليّة تنظّف حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "العمليّة تحلّ اعتماديّات الحزم التي ستثبّتها حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "العمليّة تفحص تواقيع الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "العمليّة تفحص إيداع مجموعة الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "العمليّة تودع مجموعة الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "انتهت العمليّة!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "أُلغيت العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "العمليّة تعمل حاليًّا للقفل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "ينتظر المستخدم لاستيثاق العمليّة..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "العمليّة تنسخ الملفّات حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "ينعش خبيئة المستودع حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "الحالة %1 مجهولة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "مستقرّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "غير مستقرّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "اختباريّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "التّحديثات غير الشّبكيّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"تعذّر تحديث %1 من الحزم\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "حُدّثت %1 من الحزم بنجاح" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "التّرقيّة متوفّرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "إصدارة غير مستقرّة جديدة: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "إصدارة جديدة: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "، و" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "الإصدار %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "البائدة:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgid "New version: %1" +msgid "New Version:" +msgstr "إصدارة جديدة: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "حالة التّحديث:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "إعادة التّشغيل" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "البائع:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 فقط" +msgstr[1] "%2 (واعتماديّة واحدة)" +msgstr[2] "%2 (واعتماديّتان)" +msgstr[3] "%2 (و%1 اعتماديّات)" +msgstr[4] "%2 (و%1 اعتماديّة)" +msgstr[5] "%2 (و%1 اعتماديّة)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "مسار المستودع:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "الحزم لإزالتها" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
    • %1
    " +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"سيُزيل التّحديث الحزم الآتية:\n" +"
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"تغيير الوسيط من نوع ’%1‘ مطلوب.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"تطلب الحزمة %1 وبائعها %2 قبول رخصتهم:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "توقيع %1 ناقص في %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"أتثق بالمفتاح الآتي؟\n" +"\n" +"المسار: %1\n" +"المستخدم: %2\n" +"المفتاح: %3\n" +"البصمة: %4\n" +"الختم الزّمني: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"لمتابعة هذا الإجراء يجب إزالة الحزم الآتية:\n" +"%2" +msgstr[1] "" +"لمتابعة هذا الإجراء يجب إزالة الحزمة الآتية:\n" +"%2" +msgstr[2] "" +"لمتابعة هذا الإجراء يجب إزالة الحزمتين الآتية:\n" +"%2" +msgstr[3] "" +"لمتابعة هذا الإجراء يجب إزالة الحزم الآتية:\n" +"%2" +msgstr[4] "" +"لمتابعة هذا الإجراء يجب إزالة الحزم الآتية:\n" +"%2" +msgstr[5] "" +"لمتابعة هذا الإجراء يجب إزالة الحزم الآتية:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "اسرد كلّ الأسناد التي تريد تحميلها، فاصلًا بينها بفاصلة ’,‘." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "معطوبة" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "متوفّرة" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "مثبّتة" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "قابلة للتّرقية" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "‏%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "التمس التّحديثات" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "حدّث" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "يبدأ" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "ينتظر" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "ينزّل" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "يثبّت" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "يزيل" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "يغيّر الإضافات" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "تمّت" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "فشلت" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "أُلغيت" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "تحديثات التّطبيقات" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "تحديثات النّظام" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# either way, the %1 on those is probably the backend name +# either KNS, Bodega, Apt, PackageKit, etc \ No newline at end of file diff --git a/po/ar/plasma-discover-notifier.po b/po/ar/plasma-discover-notifier.po new file mode 100644 index 0000000..28d8a98 --- /dev/null +++ b/po/ar/plasma-discover-notifier.po @@ -0,0 +1,112 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Safa Alfulaij , ٢٠١٥, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-01-21 08:20+0300\n" +"Last-Translator: Safa Alfulaij \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "حدّث" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "تتوفّر تحديثات أمنيّة" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "تتوفّر تحديثات" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "النّظام محدّث" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "لا حزم لتحديثها" +msgstr[1] "حزمة واحدة لتحديثها" +msgstr[2] "حزمتان لتحديثهما" +msgstr[3] "%1 حزم لتحديثها" +msgstr[4] "%1 حزمة لتحديثها" +msgstr[5] "%1 حزمة لتحديثها" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "فقط" +msgstr[1] "وواحدة منها تحديث أمنيّ" +msgstr[2] "واثنتين منها تحديثات أمنيّة" +msgstr[3] "و%1 منها تحديثات أمنيّة" +msgstr[4] "و%1 منها تحديثات أمنيّة" +msgstr[5] "و%1 منها تحديثات أمنيّة" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1، %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "لا حزم لتحديثها" +msgstr[1] "حزمة واحدة لتحديثها" +msgstr[2] "حزمتان لتحديثهما" +msgstr[3] "%1 حزم لتحديثها" +msgstr[4] "%1 حزمة لتحديثها" +msgstr[5] "%1 حزمة لتحديثها" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "لا تحديثات أمنيّة" +msgstr[1] "تحديث أمنيّ واحد" +msgstr[2] "تحديثان أمنيّان" +msgstr[3] "%1 تحديثات أمنيّة" +msgstr[4] "%1 تحديثًا أمنيًّا" +msgstr[5] "%1 تحديث أمنيّ" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "لا حزم لتحديثها" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/ar/plasma-discover.po b/po/ar/plasma-discover.po new file mode 100644 index 0000000..443a9c5 --- /dev/null +++ b/po/ar/plasma-discover.po @@ -0,0 +1,753 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Safa Alfulaij , 2013, ٢٠١٥, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-01-21 09:19+0300\n" +"Last-Translator: Safa Alfulaij \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "تعذّر العثور على الفئة ’%1‘" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "تعذّر فتح %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "افتح التّطبيق المحدّد مباشرة باسم حزمته." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "افتح ببرنامج يمكن أن يتعامل مع نوع MIME المُعطى." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "اعرض قائمة من المدخلات حسب الفئة." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "افتح «استكشف» بالوضع المُعطى. تقابل الأوضاع أزرار شريط الأدوات." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "اسرد كلّ الأوضاع المتوفّرة." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "الوضع المتضامّ (auto/compact/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "ملفّ الحزمة المحليّة لتثبيتها" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "اسرد كل الأسناد المتوفّرة." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "يدعم مخطّط مسارات appstream:‎" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "استكشف" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "متصفّح للتّطبيقات" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© ٢٠١٠-٢٠١٦ لفريق تطوير بلازما" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "الأسناد المتوفّرة:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "الأوضاع المتوفّرة:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "الإضافات" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "طبّق التّغييرات" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "تجاهل" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "أكثر..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "الإضافات" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "ألغِ" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "التّقييم:" +msgstr[1] "التّقييم:" +msgstr[2] "التّقييم:" +msgstr[3] "التّقييم:" +msgstr[4] "التّقييم:" +msgstr[5] "التّقييم:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "المصدر:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "قيّم" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "More comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "تعليقات أخرى (%1)..." +msgstr[1] "تعليقات أخرى (%1)..." +msgstr[2] "تعليقات أخرى (%1)..." +msgstr[3] "تعليقات أخرى (%1)..." +msgstr[4] "تعليقات أخرى (%1)..." +msgstr[5] "تعليقات أخرى (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "أودِع" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "الفئة:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "الإصدارة:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "الحجم:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "المصدر:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "الرّخصة:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "الصّفحة الرّئيسيّة:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "ابحث عن %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "الاسم" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "التّقييم:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "الحجم:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "نأسف، لم نجد شيئًا..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "ما زلنا نبحث..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "مُختارة" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "التّشغيل بمستخدم الجذر غير مستحسن ولا حاجة له." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "ابحث" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "المثبّت" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "يلتمس التّحديثات..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "لا تحديثات" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "حدّث (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "إعدادات" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "ملخّص قصير..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "تعذّر إغلاق التّطبيق، هناك مهام يجب أداءها." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "تعذّر العثور على المورد: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "تابِع" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "ثبّت" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "أزل" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "يحمّل..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "موارد ’%1‘" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "الامتدادات..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "المهام (%1٪)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "المهامّ" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "أخبرنا حول هذا التّقييم!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "وجد %1 من %2 هذا التّقييم مفيدًا" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "مقيّم مجهول" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "‏%1 كتبه %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comment too long" +msgid "Comment by %1" +msgstr "التّعليق طويل جديًّا" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"أهو مفيد؟ نعم/لا" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"أهو مفيد؟ نعم/لا" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "أهو مفيد؟ نعم/لا" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "تقييم ’%1‘" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "التّقييم:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "قيّم" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "يحدّث..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "أودِع" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "قيّم" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "ابحث عن..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "ابحث في ’%1‘..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "‏%1 (المبدئيّ)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "اجعله المبدئيّ" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "أضف مصدرًا..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "احذف الأصل" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "فشلت إزالة المصدر ’%1‘" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "التّحديثات" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "حدّث المحدّد" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "حدّث الكلّ" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "تحديثات محدّدة" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "تحديثات غير محدّدة" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "معلومات أخرى..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "يجلب..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "يبحث عن التّحديثات..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "يحدّث..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "يجلب التّحديثات" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "التّحديثات" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "النّظام محدّث" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "لا تحديثات" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "لا تحديثات متوفّرة" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "يجب التماس التّحديثات" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "لا يُعرف متى كان آخر التماس للتّحديثات" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# %1 الملخص... %2 الشخص +# %3 التعليق +# %4 من أُعجِب بهذا التعليق \ No newline at end of file diff --git a/po/ar/plasma_applet_org.kde.discovernotifier.po b/po/ar/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..53e1dc8 --- /dev/null +++ b/po/ar/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Safa Alfulaij , ٢٠١٥. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: ٢٠١٥-٠٨-١٨ ١٤:٤٠+0300\n" +"Last-Translator: Safa Alfulaij \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "طالع التّحديثات..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "يطلق البرمجيّة لتنفيذ التّحديث" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "طالع التّحديثات..." \ No newline at end of file diff --git a/po/ast/libdiscover.po b/po/ast/libdiscover.po new file mode 100644 index 0000000..f332f7c --- /dev/null +++ b/po/ast/libdiscover.po @@ -0,0 +1,1546 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# enolp , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2016-12-19 03:34+0100\n" +"Last-Translator: enolp \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicaciones" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Aplicaciones" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" \ No newline at end of file diff --git a/po/ast/plasma-discover-notifier.po b/po/ast/plasma-discover-notifier.po new file mode 100644 index 0000000..f57208c --- /dev/null +++ b/po/ast/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# enolp , 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2017-08-30 10:19+0100\n" +"Last-Translator: enolp \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Anovamientos disponibles de seguranza" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Anovamientos disponibles" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema anováu" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquete p'anovar" +msgstr[1] "%1 paquetes p'anovar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "de los que 1 ye de seguranza" +msgstr[1] "de los que %1 son de seguranza" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquete p'anovar" +msgstr[1] "%1 paquetes p'anovar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 anovamientu de seguranza" +msgstr[1] "%1 anovamientos de seguranza" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Nun hai paquetes p'anovar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/ast/plasma-discover.po b/po/ast/plasma-discover.po new file mode 100644 index 0000000..3f07842 --- /dev/null +++ b/po/ast/plasma-discover.po @@ -0,0 +1,645 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# enolp , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2016-12-19 03:50+0100\n" +"Last-Translator: enolp \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Tamañu: %1" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Tamañu: %1" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/ast/plasma_applet_org.kde.discovernotifier.po b/po/ast/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..739fda6 --- /dev/null +++ b/po/ast/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# enolp , 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2017-04-29 15:45+0100\n" +"Last-Translator: enolp \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Ver anovamientos..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Llanza'l software pa facer l'anovamientu" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Ver anovamientos..." \ No newline at end of file diff --git a/po/bg/libdiscover.po b/po/bg/libdiscover.po new file mode 100644 index 0000000..bd22d04 --- /dev/null +++ b/po/bg/libdiscover.po @@ -0,0 +1,1678 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Svetoslav Stefanov , 2014. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2014-05-12 21:14+0200\n" +"Last-Translator: Svetoslav Stefanov \n" +"Language-Team: BULGARIAN \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "Приложения" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Помощни програми" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Достъпност" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Инструменти за разработка" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Отстраняване на грешки" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Проектиране на графичен интерфейс" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Среди за разработка на софтуер" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Превод" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профилиране" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Уеб разработка" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образование" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Наука и проектирование" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономия" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биология" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Информатика и роботика" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроника" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инженерство" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "География" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геология" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игри" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркадни" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Настолни игри" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карти" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Пъзели" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Ролеви" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симулатори" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортни" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Приложения" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Симулатори" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Чертане" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Рисуване и обработка" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотография" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Издателска дейност" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Сканиране и разпознаване на текста" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Програми за преглед" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Бързи съобщения" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Споделяне на файлове" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Поща" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Уеб четци" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мултимедия" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офис" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Системни настройки" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Desktop Widgets" +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Джаджи за работния плот" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Шрифтове" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "фиктивен" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy addons" +msgstr "фиктивен" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 1" +msgstr "фиктивен" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 2.1" +msgstr "фиктивен" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 3" +msgstr "фиктивен" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 4" +msgstr "фиктивен" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Неизвестен" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Неизвестен" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 за изтегляне, %2 на диска" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 на диска" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Пакетът %1 и неговия издател %2 изискват да приемете техния лиценз:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Приложения" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgid "No network connection available!" +msgid "No network connection available" +msgstr "Няма връзка с мрежата!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgid "Operation not supported!" +msgid "Operation not supported" +msgstr "Неподдържана операция!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgid "Internal error!" +msgid "Internal error" +msgstr "Вътрешна грешка!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgid "GPG failure!" +msgid "GPG failure" +msgstr "Грешка в GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgid "PackageID invalid!" +msgid "PackageID invalid" +msgstr "Невалиден идентификатор на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgid "Package not installed!" +msgid "Package not installed" +msgstr "Пакетът не е инсталиран!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package not found" +msgstr "Файлът не е намерен!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgid "Package is already installed!" +msgid "Package is already installed" +msgstr "Пакетът вече е инсталиран!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgid "Package download failed!" +msgid "Package download failed" +msgstr "Неуспешно изтегляне на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package group not found" +msgstr "Файлът не е намерен!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgid "PackageID invalid!" +msgid "Package group list invalid" +msgstr "Невалиден идентификатор на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, fuzzy, kde-format +#| msgid "Dependency resolution failed!" +msgid "Dependency resolution failed" +msgstr "Неуспешно разрешаване на зависимостите!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, fuzzy, kde-format +#| msgid "Filter invalid!" +msgid "Filter invalid" +msgstr "Неправилен филтър!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgid "Transaction failure!" +msgid "Transaction failure" +msgstr "Грешка при операцията!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +#| msgid "Transaction canceled!" +msgid "Transaction canceled" +msgstr "Операцията е прекъсната!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Няма наличен кеш" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, fuzzy, kde-format +#| msgid "Cannot find repository!" +msgid "Cannot find repository" +msgstr "Хранилището не може да бъде открито!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, fuzzy, kde-format +#| msgid "Cannot remove system package!" +msgid "Cannot remove system package" +msgstr "Не може да се премахне системен пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, fuzzy, kde-format +#| msgid "The package database changed!" +msgid "The PackageKit daemon has crashed" +msgstr "Базата данни на пакета е променена!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgid "Initialization failure!" +msgid "Initialization failure" +msgstr "Грешка при инициализиране!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, fuzzy, kde-format +#| msgid "Failed to finalize transaction!" +msgid "Failed to finalize transaction" +msgstr "Грешка при завършване на операцията!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, fuzzy, kde-format +#| msgid "Config parsing failed!" +msgid "Config parsing failed" +msgstr "Неуспешна обработка на настройките!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Операцията не може да бъде отказана" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgid "Cannot obtain lock!" +msgid "Cannot obtain lock" +msgstr "Не може да се заключи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, fuzzy, kde-format +#| msgid "No packages to update!" +msgid "No packages to update" +msgstr "Няма пакети за актуализиране!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, fuzzy, kde-format +#| msgid "Cannot write repo config!" +msgid "Cannot write repo config" +msgstr "Настройките на хранилището не могат да бъдат записани!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgid "Local install failed!" +msgid "Local install failed" +msgstr "Локалното инсталиране е неуспешно!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, fuzzy, kde-format +#| msgid "Bad GPG signature found!" +msgid "Bad GPG signature found" +msgstr "Открит е повреден подпис на GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, fuzzy, kde-format +#| msgid "No GPG signature found!" +msgid "No GPG signature found" +msgstr "Не е открит подпис на GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgid "Cannot install from unsigned repo!" +msgid "Cannot install source package" +msgstr "Не може да се инсталира от неподписано хранилище!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgid "Repo configuration error!" +msgid "Repo configuration error" +msgstr "Грешка при настройване на хранилището!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgid "No license agreement!" +msgid "No license agreement" +msgstr "Липсва лицензионно споразумение!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgid "File conflicts found!" +msgid "File conflicts found" +msgstr "Открити са конфликти между файлове!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgid "Package conflict found!" +msgid "Package conflict found" +msgstr "Открити са конфликти между пакети!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Repo not available!" +msgid "Repo not available" +msgstr "Хранилището не е налично!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, fuzzy, kde-format +#| msgid "Invalid package file!" +msgid "Invalid package file" +msgstr "Невалиден пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgid "Package install blocked!" +msgid "Package install blocked" +msgstr "Инсталирането на пакета е блокирано!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgid "Corrupt package found!" +msgid "Corrupt package found" +msgstr "Открит е повреден пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgid "All packages already installed!" +msgid "All packages already installed" +msgstr "Всички пакети са вече инсталирани!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgid "File not found!" +msgid "File not found" +msgstr "Файлът не е намерен!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, fuzzy, kde-format +#| msgid "No more mirrors available!" +msgid "No more mirrors available" +msgstr "Няма повече огледални сървъри!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "No distro upgrade data!" +msgid "No distro upgrade data" +msgstr "Няма данни за надграждане на дистрибуцията!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, fuzzy, kde-format +#| msgid "Incompatible architecture!" +msgid "Incompatible architecture" +msgstr "Несъвместима архитектура!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, fuzzy, kde-format +#| msgid "No space on device left!" +msgid "No space on device left" +msgstr "Няма място в устройството!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgid "A media change is required!" +msgid "A media change is required" +msgstr "Необходима е смяна на носителя!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, fuzzy, kde-format +#| msgid "You have no authorization to execute this operation!" +msgid "You have no authorization to execute this operation" +msgstr "Нямате права за изпълнение на тази операция!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgid "Update not found!" +msgid "Update not found" +msgstr "Обновлението не е намерено!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, fuzzy, kde-format +#| msgid "Cannot install from unsigned repo!" +msgid "Cannot install from unsigned repo" +msgstr "Не може да се инсталира от неподписано хранилище!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgid "Cannot update from unsigned repo!" +msgid "Cannot update from unsigned repo" +msgstr "Не може да се обнови от неподписано хранилище!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, fuzzy, kde-format +#| msgid "Cannot get file list!" +msgid "Cannot get file list" +msgstr "Списъкът с файлове не може да се получи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, fuzzy, kde-format +#| msgid "Cannot get file list!" +msgid "Cannot get requires" +msgstr "Списъкът с файлове не може да се получи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, fuzzy, kde-format +#| msgid "Cannot disable repository!" +msgid "Cannot disable repository" +msgstr "Хранилището не може да бъде изключено!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, fuzzy, kde-format +#| msgid "Restricted download detected!" +msgid "Restricted download detected" +msgstr "Открито е ограничено изтегляне!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +#| msgid "Package failed to configure!" +msgid "Package failed to configure" +msgstr "Неуспешно настройване на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgid "Package failed to build!" +msgid "Package failed to build" +msgstr "Неуспешно изграждане на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgid "Package failed to install!" +msgid "Package failed to install" +msgstr "Неуспех при инсталиране на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgid "Package failed to remove!" +msgid "Package failed to remove" +msgstr "Неуспешно премахване на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgid "Update failed due to running process!" +msgid "Update failed due to running process" +msgstr "Обновяването се провали поради изпълняващ се процес!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, fuzzy, kde-format +#| msgid "The package database changed!" +msgid "The package database changed" +msgstr "Базата данни на пакета е променена!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, fuzzy, kde-format +#| msgid "The provided type is not supported!" +msgid "The provided type is not supported" +msgstr "Предоставения вид не се поддържа!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources!" +msgid "Cannot fetch sources" +msgstr "Източниците не могат да бъдат получени!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, fuzzy, kde-format +#| msgid "Canceled priority!" +msgid "Canceled priority" +msgstr "Отказан приоритет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, fuzzy, kde-format +#| msgid "Unfinished transaction!" +msgid "Unfinished transaction" +msgstr "Недовършена операция!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgid "Lock required!" +msgid "Lock required" +msgstr "Изисква се заключване!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgid "Unknown error" +msgid "Unknown error %1." +msgstr "Неизвестна грешка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' беше променен и предлага да бъде рестартиран." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Промяна, извършена от '%1' предлага рестартиране на сесията." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' беше обновен от съображения за сигурност и се препоръчва рестартиране " +"на сесията." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' беше обновен от съображения за сигурност и се препоръчва рестартиране " +"на системата." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Промяна, извършена от '%1' предлага рестартиране на системата." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Изчакване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Настройка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Обработка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Премахване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Изтегляне...." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Инсталиране..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Обновяване…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Изчистване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Изчисляване на зависимостите..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Проверка на подписите..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Тест на подаването..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Подаване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Готово" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, fuzzy, kde-format +#| msgid "Canceled." +msgid "Canceled" +msgstr "Прекъснато." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Изчакване за заключване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Изчакване за идентифициране..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Копиране на файловете..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Неизвестно състояние" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Процесът изчаква нещо да се случи." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Настройване на операция..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Операцията се изпълнява..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Операцията премахва пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Операцията изтегля пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Операцията инсталира пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Операцията обновява пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Операцията почиства след себе си..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Операцията установява зависимостите на пакетите, които ще бъдат " +"инсталирани..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Операцията проверява подписите на пакетите..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Операцията пробва подаването на този набор пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Операцията подава набора си от пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Операцията приключи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Операцията бе отказана" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Операцията изчаква за заключване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Изчакване за разрешение от потребителя за изпълнение на операцията..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Операцията в момента копира файлове..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgid "Unknown Status" +msgid "Unknown status %1." +msgstr "Неизвестно състояние" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Инсталиран" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Приложения" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgid "There are %1 updated packages!" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "Има %1 обновени пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "За надграждане" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Версия %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "Версия %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Версия %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "Package failed to remove!" +msgid "Packages to remove" +msgstr "Неуспешно премахване на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Пакетът %1 и неговия издател %2 изискват да приемете техния лиценз:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "This action requires a change to another package:" +#| msgid_plural "This action requires changes to other packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Това действие изисква промяна на друг пакет:" +msgstr[1] "Това действие изисква промяна на други пакети:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Счупен" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Наличен" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Инсталиран" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "За надграждане" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Проверка за обновления" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Обновления" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Начало" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Изчакване" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Сваляне" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Инсталиране" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Премахване" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Промяна на добавките" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Готово" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled." +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Прекъснато." + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Приложения" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Обновления" \ No newline at end of file diff --git a/po/bs/libdiscover.po b/po/bs/libdiscover.po new file mode 100644 index 0000000..6986274 --- /dev/null +++ b/po/bs/libdiscover.po @@ -0,0 +1,1609 @@ +# Bosnian translation for muon +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the muon package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: muon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2014-01-31 20:46+0100\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Launchpad-Export-Date: 2014-01-13 05:53+0000\n" +"X-Generator: Launchpad (build 16890)\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "Programi" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Alati" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Pristupačnost" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Razvoj" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Traženje grešaka" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Dizajn grafičkoginterfejsa" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Integrisana razvojna okruženja" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizacija" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilisanje" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web Razvoj" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Obrazovanje" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Nauka i inženjerstvo" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Hemija" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Kompjuterske nauke i robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inženjerstvo" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografija" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Igre" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkadne igre" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Igre na tabli" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Igre sa kartama" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Igre zagonetki" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Igre uloga" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulacije" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportovi" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Programi" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simulacije" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Crtanje" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Slikanje i uređivanje" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Izdavaštvo" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skeniranje i OCR slika" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Preglednici" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ćaskanje" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Dijeljenje datoteka" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Elektronska pošta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Web preglednici" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedija" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ured" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Sistem i postavke" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Desktop Widgets" +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Grafičke kontrole Plasma površi" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontovi" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "prazno" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy addons" +msgstr "prazno" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 1" +msgstr "prazno" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 2.1" +msgstr "prazno" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 3" +msgstr "prazno" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 4" +msgstr "prazno" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 ( %2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Nepoznato" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Nepoznato" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 za preuzeti, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Programi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +msgid "Internal error" +msgstr "Internet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +msgid "PackageID invalid" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +msgid "Package not installed" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package not found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +msgid "Package is already installed" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +msgid "Package download failed" +msgstr "Snimi listu paketa za preuzimanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +msgid "Package group not found" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +msgid "Package group list invalid" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +msgid "Transaction failure" +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +msgid "Transaction canceled" +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +msgid "Initialization failure" +msgstr "Greška inicijalizacije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +msgid "Local install failed" +msgstr "Historijat paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +msgid "Repo configuration error" +msgstr "Rezidualna konfiguracija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +msgid "File conflicts found" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +msgid "Package conflict found" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "System update available!" +msgid "Repo not available" +msgstr "Sistemsko ažuriranje dostupno!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +msgid "Package install blocked" +msgstr "Historijat paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Corrupt package found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +msgid "All packages already installed" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "File not found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Nadogradnje distribucije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +msgid "A media change is required" +msgstr "Potrebna promjena medija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Update not found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +msgid "Package failed to configure" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +msgid "Package failed to build" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +msgid "Package failed to install" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +msgid "Package failed to remove" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +msgid "Lock required" +msgstr "Zaključano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgid "Unknown error" +msgid "Unknown error %1." +msgstr "Nepoznata greška" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Čeka..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Obrada..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Uklanjanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Preuzimanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instaliram..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Potvrda..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Gotovo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +msgid "Waiting for authorization..." +msgstr "Čekam na autentifikaciju" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +msgid "Unknown Status" +msgstr "Nepoznato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Postavljam instalaciju..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, fuzzy, kde-format +msgid "The transaction has finished!" +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, fuzzy, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +msgid "Unknown status %1." +msgstr "Nepoznato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Programi" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgid "There are %1 update packages!" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "%1 ažuriranih paketa!" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Nadogradivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Verzija %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 ( %2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "Verzija %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Verzija %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +msgid "Packages to remove" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "This action requires a change to another package:" +#| msgid_plural "This action requires changes to other packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Ova akcija zahtijeva izmjene na drugom paketu:" +msgstr[1] "Ova akcija zahtijeva izmjene na drugim paketima:" +msgstr[2] "Ova akcija zahtijeva izmjene na drugim paketima:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Oštećeni" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Dostupno" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Nadogradivo" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 ( %2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Provjera na nadogradnje" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Nadogradnje" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Počinjem" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "čekanje" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Preuzimanje" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instaliranje" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Uklanjanje" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Mijenjam dodatke" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gotovo" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Nadogradnje" \ No newline at end of file diff --git a/po/bs/plasma-discover.po b/po/bs/plasma-discover.po new file mode 100644 index 0000000..7663995 --- /dev/null +++ b/po/bs/plasma-discover.po @@ -0,0 +1,683 @@ +# Bosnian translation for bosnianuniversetranslation +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the bosnianuniversetranslation package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: bosnianuniversetranslation\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2015-02-04 16:18+0000\n" +"Last-Translator: Nermina Ahmić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Launchpad-Export-Date: 2015-02-05 06:39+0000\n" +"X-Generator: Launchpad (build 17331)\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Direktno otvori navedenu aplikaciju njenim imenom paketa." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Otvori programom koji može raditi s datim MIME tipom." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži listu elemenata s kategorijom." + +#: discover/main.cpp:48 +#, fuzzy, kde-format +#| msgid "" +#| "Open Muon Discover in a said mode. Modes correspond to the toolbar " +#| "buttons." +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Otvori Muon otkrivač u datom režimu. Režimi odgovaraju dugmićima alatne " +"trake." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Nabroji sve dostupne režime rada." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Nabroji sve dostupne pozadinske programe." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Otkrij" + +#: discover/main.cpp:96 +#, fuzzy, kde-format +msgid "An application explorer" +msgstr "Otkrivač programa" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupni pozadinski programi:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupni režimi:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Odbaci" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "Dodaci" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Otkaži" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Rejting" +msgstr[1] "Rejting" +msgstr[2] "Rejting" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Izvori" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Recenzije" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "%1 reviews" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 recenzija" +msgstr[1] "%1 recenzija" +msgstr[2] "%1 recenzija" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Predaj" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +msgid "Size:" +msgstr "Ukupna veličina: %1
    " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Izvori" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "poena: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +msgid "Homepage:" +msgstr "Početna stranica" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "Tražim u '%1'..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Rejting" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +msgid "Size" +msgstr "Ukupna veličina: %1
    " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Instaliraj" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Traži..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Ažuriraj" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "Ažuriraj" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Ažuriraj" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Najbolji plasmani" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instaliraj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Ukloni" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Učitavam..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Ažuriraj" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Recite nam o ovoj recenziji!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 od %2 ljudi smatra ovu recenziju korisnom" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing '%1'" +msgstr "Recenziram %1" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Ocjena:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Pregled" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Učitavam..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Predaj" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Pregled" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Traži..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Tražim u '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Dodaj izvor" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Učitavam..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "Učitavam..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/bs/plasma_applet_org.kde.discovernotifier.po b/po/bs/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..7705c23 --- /dev/null +++ b/po/bs/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,43 @@ +# Bosnian translations for PACKAGE package +# engleski prevodi za paket PACKAGE. +# Copyright (C) 2015 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Samir ribic , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: kde5\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-02-24 20:34+0100\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian\n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "Update" +msgid "View Updates" +msgstr "Ažuriraj" + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Pokreće softver radi nadogradnje" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, fuzzy, kde-format +#| msgid "Update" +msgid "See Updates..." +msgstr "Ažuriraj" \ No newline at end of file diff --git a/po/ca/libdiscover.po b/po/ca/libdiscover.po new file mode 100644 index 0000000..84249a6 --- /dev/null +++ b/po/ca/libdiscover.po @@ -0,0 +1,1586 @@ +# Translation of libdiscover.po to Catalan +# Copyright (C) 2011-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Josep Ma. Ferrer , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-03 16:23+0100\n" +"Last-Translator: Josep Ma. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicacions" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoris" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilitat" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Eines de desenvolupament" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuració" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Disseny d'interfície gràfica" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Entorns integrats de desenvolupament" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Traducció" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Anàlisi del rendiment" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Desenvolupament web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educació" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ciència i enginyeria" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Química" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informàtica i robòtica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electrònica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Enginyeria" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemàtiques" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Física" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocs" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jocs de taula" + +# skip-rule: ff-card +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jocs de cartes" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Trencaclosques" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Jocs de rol" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulació" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estratègia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Esports" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acció" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladors" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Gràfics" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dibuix" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pintura i edició" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicació" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Escaneig i ROC (OCR)" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visors" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Xat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Compartició de fitxers" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correu" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navegadors web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimèdia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editors d'àudio i de vídeo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Reproductors d'àudio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Reproductors de vídeo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD i DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configuració del sistema" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complements del Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Estris del Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipus de lletres" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria simulada" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "simulació" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complement simulat" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "simulació 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "simulació amb novetats" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "simulació 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "simulació amb algunes novetats" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "simulació 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "simulació 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Paquet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de l'«appstream» amb format incorrecte «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Desconegut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "S'està recuperant la informació de la mida" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Mida desconeguda" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 a baixar, %2 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Afegeix Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "No s'ha pogut afegir el codi font %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI del repositori Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Accepta EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"El remot %1 requereix que accepteu la seva llicència:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Dorsal %1 no vàlid, contacteu amb el vostre distribuïdor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Complements del Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Complements d'aplicacions" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI del KNewStuff incorrecte: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Ús" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informació d'accés per a %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Assegureu-vos que l'Appstream està ben instal·lat en el sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Memòria exhaurida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "La connexió de xarxa no està disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operació no admesa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Error intern" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Fallada del GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID no vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paquet no instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "No s'ha trobat el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "El paquet ja està instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "La baixada del paquet ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "No s'han pogut trobar el grup de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "La llista del grup de paquets no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "La resolució de dependències ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "El filtre no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Ha fallat en crear un fil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transacció fallida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "No hi ha memòria cau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "No s'ha pogut trobar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "No s'ha pogut eliminar el paquet del sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "El dimoni PackageKit ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Fallada en la inicialització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Ha fallat en finalitzar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Ha fallat l'anàlisi de la configuració" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "No s'ha pogut cancel·lar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "No s'ha pogut obtenir el bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "No hi ha cap paquet per actualitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "No s'ha pogut escriure la configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "La instal·lació local ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "La signatura GPG és incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "No s'ha trobat la signatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "No s'ha pogut instal·lar un paquet de codi font" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Error de configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "No hi ha cap acord de llicència" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "S'han trobat conflictes de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "S'ha trobat un conflicte de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repositori no disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "El fitxer de paquet no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Instal·lació del paquet bloquejada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "S'ha trobat un paquet corrupte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Ja estan instal·lats tots els paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "No s'ha trobat el fitxer" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "No hi ha més rèpliques disponibles" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "No hi ha dades d'actualitzacions de la distribució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitectura incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "No queda espai en el dispositiu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Cal canviar el suport" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "No teniu autorització per executar aquesta operació" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "No s'ha trobat l'actualització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "No es pot instal·lar des d'un repositori no signat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "No es pot actualitzar des d'un repositori no signat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "No s'ha pogut obtenir la llista de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "No es poden obtenir els requeriments" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "No s'ha pogut desactivar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "S'ha detectat una restricció de baixada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "El paquet ha fallat en ser configurat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "El paquet ha fallat en ser construït" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "El paquet ha fallat en ser instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "El paquet ha fallat en ser eliminat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ha fallat l'actualització a causa d'un procés en execució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "La base de dades dels paquets ha canviat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "El tipus proporcionat no està admès" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "L'arrel de la instal·lació no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "No s'han pogut recuperar els codis font" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "La prioritat s'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacció sense finalitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Es requereix un bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Error desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» ha canviat i suggereix que es torni a iniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Un canvi a «%1» suggereix que la vostra sessió es torni a iniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"S'ha actualitzat «%1» per motius de seguretat. Es recomana que es torni a " +"iniciar la sessió." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"S'ha actualitzat «%1» per motius de seguretat. Es recomana que es torni a " +"iniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Un canvi a «%1» suggereix que el sistema es torni a engegar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'aplicació s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La sessió s'ha de reiniciar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "El sistema s'ha de tornar a arrencar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Per a més seguretat, la sessió s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Per a més seguretat, el sistema s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "S'està esperant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "S'està refrescant la memòria cau..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configuració..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Està processant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Elimina..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "S'està baixant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "S'està instal·lant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "S'està actualitzant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Netejant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "S'estan resolent les dependències..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "S'estan comprovant les signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "S'està provant la publicació..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "S'està publicant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Ha finalitzat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "S'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "S'està esperant pel bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "S'està esperant autorització..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "S'estan copiant els fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Estat desconegut" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "S'està esperant quelcom." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "S'està configurant la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Actualment la transacció està en curs..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Actualment la transacció està eliminant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Actualment la transacció està baixant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Actualment la transacció està instal·lant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Actualment la transacció està actualitzant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Actualment la transacció està netejant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Actualment la transacció està resolent les dependències dels paquets que " +"instal·larà..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" +"Actualment la transacció està comprovant les signatures dels paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Actualment la transacció està provant la publicació d'aquest conjunt de " +"paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Actualment la transacció està publicant el seu conjunt de paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transacció ha finalitzat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Actualment la transacció està esperant pel bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "S'està a l'espera que l'usuari autoritzi la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Actualment la transacció està copiant fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Actualment s'està refrescant la memòria cau del repositori..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Estat desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Proves" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Actualitzacions fora de línia" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Ha fallat en actualitzar %1 paquets\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "S'han actualitzat amb èxit %1 paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Hi ha una actualització disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Versió inestable nova: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Versió nova: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versió actual:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsolets:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Versió nova:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Estat d'actualització:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reinicia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Proveïdor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (més %1 dependència)" +msgstr[1] "%2 (més %1 dependències)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL del repositori:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paquets a eliminar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"L'actualització eliminarà els paquets següents:\n" +"
    • %1
    \n" +"per tal d'instal·lar:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Reinicieu l'ordinador per a finalitzar amb la instal·lació" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Es requereix un canvi de suport del tipus «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"El paquet %1 i el seu fabricant %2 requereixen que accepteu la seva " +"llicència:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Manca la signatura per a %1 a %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Confieu en la següent clau?\n" +"\n" +"URL: %1\n" +"Usuari: %2\n" +"Clau: %3\n" +"Empremta digital: %4\n" +"Marca de temps: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirma la supressió del paquet" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Aquesta acció també eliminarà el paquet següent:\n" +"%2" +msgstr[1] "" +"Aquesta acció també eliminarà els paquets següents:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Aquesta aplicació «snap» necessita desactivar les mesures de confinament de " +"seguretat." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Llista tots els dorsals que voldríeu tenir carregats, separats per una coma " +"«,»." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Trencat" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponible" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Actualitzable" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Llança" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprova si hi ha actualitzacions" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Actualitza" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciant" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "En espera" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "S'està baixant" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "S'està instal·lant" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "S'està eliminant" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "S'estan canviant els complements" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fet" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Ha fallat" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancel·lat" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualitzacions de les aplicacions" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualitzacions del sistema" \ No newline at end of file diff --git a/po/ca/plasma-discover-notifier.po b/po/ca/plasma-discover-notifier.po new file mode 100644 index 0000000..3a616e7 --- /dev/null +++ b/po/ca/plasma-discover-notifier.po @@ -0,0 +1,99 @@ +# Translation of plasma-discover-notifier.po to Catalan +# Copyright (C) 2015-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Josep Ma. Ferrer , 2015, 2018. +# Antoni Bella Pérez , 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 17:30+0100\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Actualitza" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Actualitzacions de seguretat disponibles" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Actualitzacions disponibles" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "El sistema està actualitzat" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Cal reiniciar l'ordinador" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquet a actualitzar" +msgstr[1] "%1 paquets a actualitzar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "dels quals 1 és una actualització de seguretat" +msgstr[1] "dels quals %1 són actualitzacions de seguretat" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paquet a actualitzar" +msgstr[1] "%1 paquets a actualitzar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 actualització de seguretat" +msgstr[1] "%1 actualitzacions de seguretat" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "No hi ha cap paquet per actualitzar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Cal reiniciar" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Cal reiniciar el sistema perquè les actualitzacions tinguin efecte." \ No newline at end of file diff --git a/po/ca/plasma-discover.po b/po/ca/plasma-discover.po new file mode 100644 index 0000000..ad97c53 --- /dev/null +++ b/po/ca/plasma-discover.po @@ -0,0 +1,652 @@ +# Translation of plasma-discover.po to Catalan +# Copyright (C) 2012-2018 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Orestes Mas , 2012. +# Josep Ma. Ferrer , 2013, 2014, 2015, 2016, 2017, 2018. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-22 17:14+0100\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "No s'ha pogut trobar la categoria «%1»" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"No es pot interactuar amb els recursos del Flatpak sense el dorsal del " +"«flatpak» %1. Si us plau, primer instal·leu-lo." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "No s'ha pogut obrir %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Obre directament l'aplicació especificada pel seu nom de paquet." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Obre amb un programa que pot gestionar el tipus MIME donat." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra una llista d'entrades amb una categoria." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Obre el Discover en un mode indicat. Els modes es corresponen als botons de " +"la barra d'eines." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Llista tots els modes disponibles." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode compacte (auto/compacte/complet)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Fitxer local de paquet a instal·lar" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Llista tots els dorsals disponibles." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Implementa l'esquema d'URL «appstream:»" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador d'aplicacions" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 l'equip de desenvolupament del Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dorsals disponibles:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modes disponibles:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Complements" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplica els canvis" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Descarta" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Més..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Afegeix un repositori nou %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Afegeix" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancel·la" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valoració" +msgstr[1] "%1 valoracions" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Encara no hi ha cap valoració" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fonts" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Què hi ha de nou" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Comentaris" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostra %1 comentari..." +msgstr[1] "Mostra tots els %1 comentaris..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Escriviu un comentari!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Sigueu el primer a escriure un comentari!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instal·leu aquesta aplicació per escriure un comentari!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" +"Instal·leu aquesta aplicació i sigueu el primer a escriure un comentari!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versió:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicat el %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Mida:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Font:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Llicència:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Pàgina web:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guia d'usuari:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donatius:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Informeu d'un problema:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Ordena: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Valoració" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Mida" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data de publicació" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "No s'ha trobat res..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Encara s'està cercant..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Cal destacar" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "L'execució com a root es desaconsella i és innecessària." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Cerca" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "S'estan comprovant les actualitzacions..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Cap actualització" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualitza (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Preferències" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Ho sento..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "No es pot tancar l'aplicació, hi ha tasques que cal fer." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "No s'ha pogut trobar el recurs: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Continua" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instal·la" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Elimina" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "S'està carregant..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos per «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensions..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tasques (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tasques" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Parleu-nos d'aquest comentari!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 de %2 persones han trobat útil aquest comentari" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconegut" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 per %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comentari de %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Si/No" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Si/No" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Si/No" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "S'està comentant «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Valoració:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nom de la presentació: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Títol:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Comentari:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Introduïu una valoració" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Escriviu un títol" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Continueu escrivint..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Massa llarg!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Envia el comentari" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Comentari..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cerca a «%1»..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predeterminat)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Converteix en predeterminat" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Afegeix font..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ha fallat en incrementar la preferència «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Ha fallat en reduir la preferència «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Suprimeix l'origen" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Ha fallat en eliminar la font «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Manquen dorsals" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Actualitza els seleccionats" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Actualitza-ho tot" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "actualitzacions seleccionades" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "actualitzacions no seleccionades" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Més informació..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "S'està recuperant..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "S'estan cercant actualitzacions" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "S'està actualitzant..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "S'estan recuperant les actualitzacions" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "El sistema està actualitzat" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Cap actualització" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "No hi ha cap actualització disponible" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Cal comprovar si hi ha actualitzacions" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Es desconeix quan es va fer la darrera comprovació d'actualitzacions" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copia l'adreça de l'enllaç" \ No newline at end of file diff --git a/po/ca/plasma_applet_org.kde.discovernotifier.po b/po/ca/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..7521505 --- /dev/null +++ b/po/ca/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.discovernotifier.po to Catalan +# Copyright (C) 2014-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Josep Ma. Ferrer , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 09:30+0100\n" +"Last-Translator: Josep Ma. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Visualitza les actualitzacions" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Llança el Discover per actualitzar el programari" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Obre el centre de programari..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Veure les actualitzacions..." \ No newline at end of file diff --git a/po/ca@valencia/libdiscover.po b/po/ca@valencia/libdiscover.po new file mode 100644 index 0000000..ed890c3 --- /dev/null +++ b/po/ca@valencia/libdiscover.po @@ -0,0 +1,1586 @@ +# Translation of libdiscover.po to Catalan (Valencian) +# Copyright (C) 2011-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Josep Ma. Ferrer , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-03 16:23+0100\n" +"Last-Translator: Josep Ma. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicacions" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoris" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilitat" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Eines de desenvolupament" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuració" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Disseny d'interfície gràfica" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Entorns integrats de desenvolupament" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Traducció" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Anàlisi del rendiment" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Desenvolupament web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educació" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ciència i enginyeria" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Química" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informàtica i robòtica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electrònica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Enginyeria" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemàtiques" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Física" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocs" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jocs de taula" + +# skip-rule: ff-card +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jocs de cartes" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Trencaclosques" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Jocs de rol" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulació" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estratègia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Esports" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acció" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladors" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Gràfics" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dibuix" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pintura i edició" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicació" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Escaneig i ROC (OCR)" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visors" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Xat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Compartició de fitxers" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correu" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navegadors web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimèdia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editors d'àudio i de vídeo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Reproductors d'àudio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Reproductors de vídeo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD i DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configuració del sistema" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complements del Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Estris del Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipus de lletres" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria simulada" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "simulació" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complement simulat" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "simulació 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "simulació amb novetats" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "simulació 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "simulació amb algunes novetats" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "simulació 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "simulació 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Paquet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de l'«appstream» amb format incorrecte «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Desconegut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "S'està recuperant la informació de la mida" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Mida desconeguda" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 a baixar, %2 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Afig Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "No s'ha pogut afegir el codi font %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI del repositori Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Accepta EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"El remot %1 requereix que accepteu la seua llicència:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Dorsal %1 no vàlid, contacteu amb el vostre distribuïdor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Complements del Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Complements d'aplicacions" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI del KNewStuff incorrecte: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Ús" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informació d'accés per a %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Assegureu-vos que l'Appstream està ben instal·lat en el sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Memòria exhaurida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "La connexió de xarxa no està disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operació no admesa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Error intern" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Fallada del GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID no vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paquet no instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "No s'ha trobat el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "El paquet ja està instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "La baixada del paquet ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "No s'han pogut trobar el grup de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "La llista del grup de paquets no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "La resolució de dependències ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "El filtre no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Ha fallat en crear un fil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transacció fallida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "No hi ha memòria cau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "No s'ha pogut trobar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "No s'ha pogut eliminar el paquet del sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "El dimoni PackageKit ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Fallada en la inicialització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Ha fallat en finalitzar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Ha fallat l'anàlisi de la configuració" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "No s'ha pogut cancel·lar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "No s'ha pogut obtindre el bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "No hi ha cap paquet per actualitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "No s'ha pogut escriure la configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "La instal·lació local ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "La signatura GPG és incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "No s'ha trobat la signatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "No s'ha pogut instal·lar un paquet de codi font" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Error de configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "No hi ha cap acord de llicència" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "S'han trobat conflictes de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "S'ha trobat un conflicte de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repositori no disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "El fitxer de paquet no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Instal·lació del paquet bloquejada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "S'ha trobat un paquet corrupte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Ja estan instal·lats tots els paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "No s'ha trobat el fitxer" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "No hi ha més rèpliques disponibles" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "No hi ha dades d'actualitzacions de la distribució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitectura incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "No queda espai en el dispositiu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Cal canviar el suport" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "No teniu autorització per executar aquesta operació" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "No s'ha trobat l'actualització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "No es pot instal·lar des d'un repositori no signat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "No es pot actualitzar des d'un repositori no signat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "No s'ha pogut obtindre la llista de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "No es poden obtindre els requeriments" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "No s'ha pogut desactivar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "S'ha detectat una restricció de baixada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "El paquet ha fallat en ser configurat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "El paquet ha fallat en ser construït" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "El paquet ha fallat en ser instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "El paquet ha fallat en ser eliminat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ha fallat l'actualització a causa d'un procés en execució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "La base de dades dels paquets ha canviat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "El tipus proporcionat no està admés" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "L'arrel de la instal·lació no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "No s'han pogut recuperar els codis font" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "La prioritat s'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacció sense finalitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Es requereix un bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Error desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» ha canviat i suggereix que es torne a iniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Un canvi a «%1» suggereix que la vostra sessió es torne a iniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"S'ha actualitzat «%1» per motius de seguretat. Es recomana que es torne a " +"iniciar la sessió." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"S'ha actualitzat «%1» per motius de seguretat. Es recomana que es torne a " +"iniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Un canvi a «%1» suggereix que el sistema es torne a engegar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'aplicació s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La sessió s'ha de reiniciar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "El sistema s'ha de tornar a arrencar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Per a més seguretat, la sessió s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Per a més seguretat, el sistema s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "S'està esperant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "S'està refrescant la memòria cau..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configuració..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Està processant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Elimina..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "S'està baixant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "S'està instal·lant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "S'està actualitzant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Netejant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "S'estan resolent les dependències..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "S'estan comprovant les signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "S'està provant la publicació..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "S'està publicant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Ha finalitzat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "S'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "S'està esperant pel bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "S'està esperant autorització..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "S'estan copiant els fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Estat desconegut" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "S'està esperant alguna cosa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "S'està configurant la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Actualment la transacció està en curs..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Actualment la transacció està eliminant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Actualment la transacció està baixant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Actualment la transacció està instal·lant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Actualment la transacció està actualitzant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Actualment la transacció està netejant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Actualment la transacció està resolent les dependències dels paquets que " +"instal·larà..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" +"Actualment la transacció està comprovant les signatures dels paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Actualment la transacció està provant la publicació d'aquest conjunt de " +"paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Actualment la transacció està publicant el seu conjunt de paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transacció ha finalitzat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Actualment la transacció està esperant pel bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "S'està a l'espera que l'usuari autoritzi la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Actualment la transacció està copiant fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Actualment s'està refrescant la memòria cau del repositori..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Estat desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Proves" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Actualitzacions fora de línia" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Ha fallat en actualitzar %1 paquets\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "S'han actualitzat amb èxit %1 paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Hi ha una actualització disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Versió inestable nova: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Versió nova: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versió actual:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsolets:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Versió nova:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Estat d'actualització:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reinicia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Proveïdor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (més %1 dependència)" +msgstr[1] "%2 (més %1 dependències)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL del repositori:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paquets a eliminar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"L'actualització eliminarà els paquets següents:\n" +"
    • %1
    \n" +"per tal d'instal·lar:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Reinicieu l'ordinador per a finalitzar amb la instal·lació" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Es requereix un canvi de suport del tipus «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"El paquet %1 i el seu fabricant %2 requereixen que accepteu la seua " +"llicència:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta la signatura per a %1 a %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Confieu en la següent clau?\n" +"\n" +"URL: %1\n" +"Usuari: %2\n" +"Clau: %3\n" +"Empremta digital: %4\n" +"Marca de temps: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirma la supressió del paquet" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Aquesta acció també eliminarà el paquet següent:\n" +"%2" +msgstr[1] "" +"Aquesta acció també eliminarà els paquets següents:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Aquesta aplicació «snap» necessita desactivar les mesures de confinament de " +"seguretat." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Llista tots els dorsals que voldríeu tindre carregats, separats per una coma " +"«,»." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Trencat" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponible" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Actualitzable" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Llança" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprova si hi ha actualitzacions" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Actualitza" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciant" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "En espera" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "S'està baixant" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "S'està instal·lant" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "S'està eliminant" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "S'estan canviant els complements" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fet" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Ha fallat" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancel·lat" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualitzacions de les aplicacions" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualitzacions del sistema" \ No newline at end of file diff --git a/po/ca@valencia/plasma-discover-notifier.po b/po/ca@valencia/plasma-discover-notifier.po new file mode 100644 index 0000000..a40c412 --- /dev/null +++ b/po/ca@valencia/plasma-discover-notifier.po @@ -0,0 +1,99 @@ +# Translation of plasma-discover-notifier.po to Catalan (Valencian) +# Copyright (C) 2015-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Josep Ma. Ferrer , 2015, 2018. +# Antoni Bella Pérez , 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 17:30+0100\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Actualitza" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Actualitzacions de seguretat disponibles" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Actualitzacions disponibles" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "El sistema està actualitzat" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Cal reiniciar l'ordinador" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquet a actualitzar" +msgstr[1] "%1 paquets a actualitzar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "dels quals 1 és una actualització de seguretat" +msgstr[1] "dels quals %1 són actualitzacions de seguretat" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paquet a actualitzar" +msgstr[1] "%1 paquets a actualitzar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 actualització de seguretat" +msgstr[1] "%1 actualitzacions de seguretat" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "No hi ha cap paquet per actualitzar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Cal reiniciar" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Cal reiniciar el sistema perquè les actualitzacions tinguen efecte." \ No newline at end of file diff --git a/po/ca@valencia/plasma-discover.po b/po/ca@valencia/plasma-discover.po new file mode 100644 index 0000000..962cf8f --- /dev/null +++ b/po/ca@valencia/plasma-discover.po @@ -0,0 +1,652 @@ +# Translation of plasma-discover.po to Catalan (Valencian) +# Copyright (C) 2012-2018 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Orestes Mas , 2012. +# Josep Ma. Ferrer , 2013, 2014, 2015, 2016, 2017, 2018. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-22 17:14+0100\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "No s'ha pogut trobar la categoria «%1»" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"No es pot interactuar amb els recursos del Flatpak sense el dorsal del " +"«flatpak» %1. Per favor, primer instal·leu-lo." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "No s'ha pogut obrir %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Obri directament l'aplicació especificada pel seu nom de paquet." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Obri amb un programa que pot gestionar el tipus MIME donat." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra una llista d'entrades amb una categoria." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Obri el Discover en un mode indicat. Els modes es corresponen als botons de " +"la barra d'eines." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Llista tots els modes disponibles." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode compacte (auto/compacte/complet)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Fitxer local de paquet a instal·lar" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Llista tots els dorsals disponibles." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Implementa l'esquema d'URL «appstream:»" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador d'aplicacions" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 l'equip de desenvolupament del Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dorsals disponibles:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modes disponibles:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Complements" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplica els canvis" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Descarta" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Més..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Afig un repositori nou %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Afig" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancel·la" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valoració" +msgstr[1] "%1 valoracions" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Encara no hi ha cap valoració" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fonts" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Què hi ha de nou" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Comentaris" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostra %1 comentari..." +msgstr[1] "Mostra tots els %1 comentaris..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Escriviu un comentari!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Sigueu el primer a escriure un comentari!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instal·leu aquesta aplicació per escriure un comentari!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" +"Instal·leu aquesta aplicació i sigueu el primer a escriure un comentari!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versió:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicat el %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Mida:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Font:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Llicència:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Pàgina web:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guia d'usuari:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donatius:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Informeu d'un problema:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Ordena: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Valoració" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Mida" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data de publicació" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "No s'ha trobat res..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Encara s'està cercant..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Cal destacar" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "L'execució com a root es desaconsella i és innecessària." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Cerca" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "S'estan comprovant les actualitzacions..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Cap actualització" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualitza (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Preferències" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Ho sento..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "No es pot tancar l'aplicació, hi ha tasques que cal fer." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "No s'ha pogut trobar el recurs: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Continua" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instal·la" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Elimina" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "S'està carregant..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos per «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensions..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tasques (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tasques" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Parleu-nos d'aquest comentari!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 de %2 persones han trobat útil aquest comentari" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconegut" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 per %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comentari de %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Si/No" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Si/No" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Si/No" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "S'està comentant «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Valoració:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nom de la presentació: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Títol:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Comentari:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Introduïu una valoració" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Escriviu un títol" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Continueu escrivint..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Massa llarg!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Envia el comentari" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Comentari..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cerca a «%1»..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predeterminat)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Converteix en predeterminat" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Afig font..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ha fallat en incrementar la preferència «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Ha fallat en reduir la preferència «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Suprimeix l'origen" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Ha fallat en eliminar la font «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Manquen dorsals" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Actualitza els seleccionats" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Actualitza-ho tot" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "actualitzacions seleccionades" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "actualitzacions no seleccionades" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Més informació..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "S'està recuperant..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "S'estan cercant actualitzacions" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "S'està actualitzant..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "S'estan recuperant les actualitzacions" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "El sistema està actualitzat" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Cap actualització" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "No hi ha cap actualització disponible" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Cal comprovar si hi ha actualitzacions" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Es desconeix quan es va fer la darrera comprovació d'actualitzacions" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copia l'adreça de l'enllaç" \ No newline at end of file diff --git a/po/ca@valencia/plasma_applet_org.kde.discovernotifier.po b/po/ca@valencia/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..569e65c --- /dev/null +++ b/po/ca@valencia/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.discovernotifier.po to Catalan (Valencian) +# Copyright (C) 2014-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Josep Ma. Ferrer , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 09:30+0100\n" +"Last-Translator: Josep Ma. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Visualitza les actualitzacions" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Llança el Discover per actualitzar el programari" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Obri el centre de programari..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Veure les actualitzacions..." \ No newline at end of file diff --git a/po/cs/libdiscover.po b/po/cs/libdiscover.po new file mode 100644 index 0000000..40fa375 --- /dev/null +++ b/po/cs/libdiscover.po @@ -0,0 +1,1560 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017. +# Tomáš Chvátal , 2012, 2013. +# Vit Pelcak , 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-16 10:39+0100\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplikace" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Příslušenství" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Zpřístupnění" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Vývojové nástroje" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Ladění" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Návrh grafického rozhraní" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Překlad" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilování" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Vývoj webu" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Výuka" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Věda a technika" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemie" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Počítače a robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Technika" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Zeměpis" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fyzika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Hry" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkády" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Deskové hry" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Karetní hry" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Hry na hrdiny" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulace" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sporty" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Akční" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulátory" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Kreslení" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Malování a úpravy" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikování" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skenování a OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Prohlížeče" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Sdílení souborů" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Pošta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webové prohlížeče" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimédia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editory audio a video" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Zvukové přehrávače" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Video přehrávače" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD a DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kancelář" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Nastavení systému" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Doplňky Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgety pro Plasmu" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Písma" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Testovací kategorie" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "falešný" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "falešné moduly" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "falešný 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "falešný 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "falešný 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "falešný 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Neplatná URL appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Neznámý" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Získávám informace o velikosti" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Neznámá velikost" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 ke stažení, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Přidat Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nelze přidat zdroj %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Přijmout EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Doplňky Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Doplňky aplikací" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Neplatné URL KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Použít" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Prosím ujistěte se, že máte řádně nastaven Appstream" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Nedostatek paměti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Není dostupné internetové připojení" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operace není podporována" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Vnitřní chyba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Selhání GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Neplatné ID balíčku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Balíček není nainstalován" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Balíček nebyl nalezen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Balíček je již nainstalován" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Stažení balíčku bylo neúspěšné" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Skupina balíčků nebyla nalezena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Seznam skupin balíčků je neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Řešení závislostí bylo neúspěšné" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Neplatný filtr" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Selhalo vytváření vlákna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Chyba přenosu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Přenos byl zrušen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Repozitář nelze najít" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Démon PackageKit spadl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Chyba inicializace" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nelze získat zámek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Žádný balíček k aktualizaci" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nelze zapsat nastavení repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokální instalace selhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Byl nalezen špatný podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Žádný podpis GPG nebyl nalezen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Nelze nainstalovat zdrojový balíček" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Chyba nastavení repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Chybí licenční ujednání" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Nalezeny konflikty souborů" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Nalezen konflikt balíčků" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repozitář je nedostupný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Neplatný balíček" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Instalace balíčku zablokována" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Byl nalezen poškozený balíček" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Všechny balíčky jsou již nainstalovány" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Soubor nenalezen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Není k dispozici více zrcadel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Chybí data pro aktualizaci distribuce" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nekompatibilní architektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Na zařízení není volné místo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Je vyžadována změna média" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Aktualizace nenalezena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nelze instalovat s nepodepsaného repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nelze aktualizovat s nepodepsaného repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Nelze získat seznam souborů" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Není možné získat požadavky" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Repozitář nelze vypnout" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Nastavení balíčku selhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Sestavení balíčku selhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Instalace balíčku selhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Odstranění balíčku selhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Aktualizace selhala kvůli běžícím procesům" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Databáze balíčků byla změněna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Poskytnutý typ není podporován" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Instalační kořen je neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Nelze stáhnout zdroje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nedokončená transakce" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Je vyžadován zámek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Neznámá chyba %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' byl změněn je doporučen jeho restart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Změna v '%1' navrhuje restartovat vaše sezení." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Čeká se..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Nastavení..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Zpracovávám..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Odstranit..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Stahuji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instaluje se..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Aktualizuji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Čistí se..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Probíhá řešení závislostí..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrolují se podpisy..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Zasílám..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Dokončeno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Zrušeno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čeká se na zámek..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čeká se na udělení oprávnění..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopíruji soubory..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Neznámý stav" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Neznámý stav %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilní" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Nestabilní" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testovací" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Chyba při aktualizaci %1 balíčků\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 balíčky byly úspěšně aktualizovány" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Dostupná aktualizace distribuce" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nová nestabilní verze: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nová verze: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Současná verze:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarává:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nová verze:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Aktualizovat stav:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Restartovat:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Dodavatel:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 závislost)" +msgstr[1] "%2 (plus %1 závislosti)" +msgstr[2] "%2 (plus %1 závislostí)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL repozitáře:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Balíčky k odstranění" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Následující balíčky budou aktualizací odstraněny:\n" +"
    • %1
    \n" +"kvůli instalaci:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Pro dokončení instalace je potřeba restartovat počítač" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Chybějící podpis pro %1 v %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Potvrdit odstranění balíčku" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Tato činnost rovněž odinstaluje následující balíček:\n" +"%2" +msgstr[1] "" +"Tato činnost rovněž odinstaluje následující balíčky:\n" +"%2" +msgstr[2] "" +"Tato činnost rovněž odinstaluje následující balíčky:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Přichytávat" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Poškozené" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Dostupné" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Nainstalováno" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Aktualizovatelné" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Spustit" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Zkontrolovat aktualizace" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Aktualizovat" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Spouštím" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čeká se" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Stahuje se" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instaluje se" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Odstraňuje se" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Měním doplňky" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Hotovo" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Selhal" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Zrušeno" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aktualizace aplikací" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Aktualizace systému" \ No newline at end of file diff --git a/po/cs/plasma-discover-notifier.po b/po/cs/plasma-discover-notifier.po new file mode 100644 index 0000000..fbe1100 --- /dev/null +++ b/po/cs/plasma-discover-notifier.po @@ -0,0 +1,101 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2015, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 12:34+0100\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Aktualizovat" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Jsou dostupné bezpečnostní aktualizace" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Jsou dostupné aktualizace" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systém je aktuální" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Je potřeba restartovat počítač" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 balíček k aktualizaci" +msgstr[1] "%1 balíčky k aktualizaci" +msgstr[2] "%1 balíčků k aktualizaci" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "z nichž je 1 bezpečnostní aktualizace" +msgstr[1] "z nichž jsou %1 bezpečnostní aktualizace" +msgstr[2] "z nichž je %1 bezpečnostních aktualizací" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 balíček k aktualizaci" +msgstr[1] "%1 balíčky k aktualizaci" +msgstr[2] "%1 balíčků k aktualizaci" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 bezpečnostní aktualizace" +msgstr[1] "%1 bezpečnostní aktualizace" +msgstr[2] "%1 bezpečnostních aktualizací" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Žádný balíček k aktualizaci" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Je vyžadován restart" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"K provedení změn bude potřeba restartovat počítač po dokončení této " +"aktualizace." \ No newline at end of file diff --git a/po/cs/plasma-discover.po b/po/cs/plasma-discover.po new file mode 100644 index 0000000..630146a --- /dev/null +++ b/po/cs/plasma-discover.po @@ -0,0 +1,647 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vit Pelcak , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-07-09 15:33+0100\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nelze nalézt kategorii '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nelze otevřít %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Vypsat všechny dostupné režimy." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokální soubor s balíčkem k instalaci" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Vypsat všechny dostupné podpůrné vrstvy." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Prohlížeč aplikací" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Vývojový tým Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupné podpůrné vrstvy:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupné režimy:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Doplňky" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Provést změny" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Zahodit" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Více..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Přidat nový repozitář %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Přidat" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Zrušit" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 hodnocení" +msgstr[1] "%1 hodnocení" +msgstr[2] "%1 hodnocení" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Zatím žádná hodnocení" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Zdroje" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Co je nového" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Recenze" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Zobrazit %1 recenzi..." +msgstr[1] "Zobrazit všechny %1 recenze..." +msgstr[2] "Zobrazit všech %1 recenzí..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Napište hodnocení." + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategorie:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Verze:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, vydáno %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Velikost:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Zdroj:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licence:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Domácí stránka:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Uživatelský průvodce:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Přispějte:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Nahlaste problém:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Seřadit: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Název" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Hodnocení" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Velikost" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Datum vydání" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Bohužel, nic nebylo nalezeno..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Stále hledám..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Hledat" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Nainstalováno" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Kontroluje se dostupnost aktualizací..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Žádné aktualizace" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aktualizovat (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nastavení" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Lituji..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nelze najít zdroj: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Pokračovat" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalovat" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Odstranit" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Probíhá načítání..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Zdroje pro '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Rozšíření..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Úkoly (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Úkoly" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 z %2 osob shledaly recenzi užitečnou" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "neznámý kontrolor" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 od %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Komentář od %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Užitečné? Ano/Ne" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Užitečné? Ano/Ne" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Užitečné? Ano/Ne" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Stahuji '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Hodnocení:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Název:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Kontrola:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Zadejte hodnocení" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Napište titulek" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Pokračujte ve psaní..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Příliš dlouhé" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Odeslat recenzi" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Recenze..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Hledat..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Hledat v '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Výchozí)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Nastavit jako výchozí" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Přidat zdroj..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Zvýšení předvolby '%1' selhalo" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Snížení předvolby '%1' selhalo" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Smazat původ" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Odebrání zdroje '%1' selhalo" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Chybějící podpůrné vrstvy" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aktualizace" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Aktualizovat vybrané" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Aktualizovat vše" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "vybrané aktualizace" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "nevybrané aktualizace" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Více informací..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Stahuji..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Vyhledávám aktualizace" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Aktualizuji..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Získávají se aktualizace" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aktualizace" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Váš systém je aktuální" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Žádné aktualizace" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Nejsou dostupné žádné aktualizace" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Měli byste zkontrolovat aktualizace" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Není známo, kdy proběhla poslední kontrola aktualizací" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Kopírovat adresu odkazu" \ No newline at end of file diff --git a/po/cs/plasma_applet_org.kde.discovernotifier.po b/po/cs/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..5ba7207 --- /dev/null +++ b/po/cs/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2014, 2015, 2016, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-26 10:10+0100\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Zobrazit aktualizace" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Spustí Discover pro aktualizování software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Otevřít Centrum softwaru..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Přehled aktualizací..." \ No newline at end of file diff --git a/po/da/libdiscover.po b/po/da/libdiscover.po new file mode 100644 index 0000000..e02eae6 --- /dev/null +++ b/po/da/libdiscover.po @@ -0,0 +1,1571 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Martin Schlander , 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018. +# scootergrisen, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-12-06 20:27+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Programmer" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tilbehør" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Tilgængelighed" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Udviklingsværktøjer" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Fejlsøgning" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Design af grafiske brugerflader" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE'er" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisering" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Webudvikling" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Uddannelse" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Videnskab og ingeniørarbejde" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemi" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Datalogi og robotvidenskab" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingeniørarbejde" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematik" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysik" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spil" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Brætspil" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kortspil" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Logik" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollespil" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatorer" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Handling" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatorer" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Tegning" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Tegning og redigering" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Foto" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicering" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scanning og OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Fremvisere" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fildeling" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-mail" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webbrowsere" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedie" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Lyd- og videoredigering" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Lydafspillere" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Videoafspillere" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "Cd og dvd" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Systemindstillinger" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-tilføjelser" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-widgets" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Skrifttyper" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Attrapkategori" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "attrap" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "attrap-tilføjelser" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "attrap 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "attrap med ting og sager" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "attrap 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "attrap med en masse ting og sager" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "attrap 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "attrap 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokalt bundt" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Defekt appstream-URL \"%1\"" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Ukendt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Henter information om størrelse" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Ukendt størrelse" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 til download, %2 på disken" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disken" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Tilføj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Kunne ikke tilføje kilden %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI på Flatpak-softwarekilde (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Acceptér EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Den eksterne %1 kræver at du accepterer deres licensaftale:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ugyldig %1-motor, kontakt din distribution." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-tilføjelser" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Programtilføjelser" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Forkert KNewStuff-URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Brug" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Login-information for %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Sørg venligst for at Appstream er sat korrekt op på dit system" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Ikke mere hukommelse" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Ingen netværksforbindelse tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Handling er ikke understøttet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Intern fejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG-fejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Pakke-id ugyldigt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pakken er ikke installeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Pakke ikke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Pakken er allerede installeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Download af pakken mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Pakkegruppen kunne ikke findes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakkegruppe-listen er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Afhængighedsløsning mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Ugyldigt filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Fejl under oprettelse af tråd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transaktionsfejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaktion annulleret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Ingen cache tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan ikke finde softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan ikke fjerne systempakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Pakkedatabasen blev ændret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Initialiseringsfejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Kunne ikke afslutte transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Fortolkning af konfiguration mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan ikke annullere transaktionen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan ikke hente lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakker til opdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan ikke skrive konfiguration af softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokal installation mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Dårlig GPG-signatur fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Ingen GPG-signatur fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan ikke installere kildepakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Fejl i konfiguration af softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Ingen licensaftale" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Filkonflikter fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Pakkekonflikt fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Softwarekilde ikke tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ugyldig pakkefil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Pakkeinstallation blokeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Defekt pakke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakker er allerede installeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Fil ikke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Ikke flere spejle tilgængelige" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen distributionsopgradering tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Inkompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Ingen plads tilbage på enheden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Medieskift kræves" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Du har ikke godkendelse til at køre denne operation" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Opdatering ikke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan ikke installere fra ikke-signeret softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan ikke opdatere fra ikke-signeret softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan ikke helte filliste" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan ikke hente påkrævede" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan ikke deaktivere softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Indskrænket download detekteret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Pakken kunne ikke konfigurere" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Pakken kunne ikke bygges" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Pakken kunne ikke installeres" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Pakken kunne ikke fjernes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Opdatering mislykkedes pga. kørende proces" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pakkedatabasen blev ændret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Den angivne type er ikke understøttet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Installationsroden er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Kan ikke hente kildekode" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Annullerede prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ikke gennemført transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Lås påkrævet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Ukendt fejl %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "\"%1\" blev skiftet og foreslår at blive genstartet." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Skift af \"%1\" foreslår at din session genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"\"%1\" blev opdateret af sikkerhedsårsager. Genstart af sessionen anbefales." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"\"%1\" blev opdateret af sikkerhedsårsager. Genstart af systemet anbefales." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Skift af \"%1\" foreslår at dit system genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Programmet skal genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sessionen skal genstartes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Systemet skal genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Af sikkerhedsmæssige årsager skal sessionen genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Af sikkerhedsmæssige årsager skal systemet genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Venter..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Genopfrisker cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Opsætning..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Behandler..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Fjern..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Downloader..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installerer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Opdaterer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Rydder op..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Løser afhængigheder..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerer signaturer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Testudførsel..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Udfører..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Færdig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Annulleret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Venter på lås..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Afventer godkendelse..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopierer filer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Ukendt status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Vi venter på noget." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Opsætning af transaktion..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaktionen arbejder i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaktionen fjerner pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaktionen downloader pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaktionerne installerer pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaktionen opdaterer pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaktionen rydder op i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transaktionen løser i øjeblikket afhængigheder for de pakker den vil " +"installere..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transaktionen tjekker i øjeblikket pakkernes signaturer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transaktionen tester i øjeblikket udførslen for dette set pakker..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transaktionen udfører installation af pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaktionen er færdig!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaktionen blev annulleret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaktionen venter i øjeblikket på låsen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Venter på at brugeren skal godkende transaktionen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaktionen kopierer filer i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Opdaterer i øjeblikket softwarekilde-cachen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Ukendt status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ustabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Under test" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Offline opdateringer" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Kunne ikke opdatere %1 pakker\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 pakker opdateret" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Opgradering tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Ny ustabil version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Ny version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Nuværende version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Forældede:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Ny version: " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Opdateringstilstand:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Genstart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Leverandør:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 afhængighed)" +msgstr[1] "%2 (plus %1 afhængigheder)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Softwarekildens URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pakker der skal fjernes" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Følgende pakker vil blive fjernet af opdateringen:\n" +"
    • %1
    \n" +"for at installere:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Genstart computeren for at afslutte installationen" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Anmodning om medieskift af typen \"%1\".\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Pakken %1 og dens leverandør %2 kræver at du accepterer deres licensaftale:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Mangler signatur for %1 i %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Vil du betro den følgende nøgle?\n" +"\n" +"URL: %1\n" +"Bruger: %2\n" +"Nøgle: %3\n" +"Fingeraftryk: %4\n" +"Tidsstempel: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Bekræft fjernelse af pakke" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Denne handling vil også fjerne følgende pakke:\n" +"%2" +msgstr[1] "" +"Denne handling vil også fjerne følgende pakker:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Dette snap-program kræver at sikkerhedsinddæmning er deaktiveret." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Oplist alle backends som vi vil have indlæst, adskilt med komma \",\"." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Defekt" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Tilgængelige" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installeret" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Kan opgraderes" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Kør" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tjek efter opdateringer" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Opdatér" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Starter" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Venter" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Downloader" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerer" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Fjerner" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Skifter tilføjelser" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Færdig" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislykkedes" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Annulleret" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programopdateringer" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systemopdateringer" \ No newline at end of file diff --git a/po/da/plasma-discover-notifier.po b/po/da/plasma-discover-notifier.po new file mode 100644 index 0000000..62c7948 --- /dev/null +++ b/po/da/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-01-28 14:08+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Opdatér" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Sikkerhedsopdateringer tilgængelige" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Opdateringer tilgængelige" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Dit system er fuldt opdateret" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakke til opdatering" +msgstr[1] "%1 pakker til opdatering" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "hvoraf 1 er en sikkerhedsopdatering" +msgstr[1] "hvoraf %1 er sikkerhedsopdateringer" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakke til opdatering" +msgstr[1] "%1 pakker til opdatering" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 sikkerhedsopdatering" +msgstr[1] "%1 sikkerhedsopdateringer" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakker til opdatering" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/da/plasma-discover.po b/po/da/plasma-discover.po new file mode 100644 index 0000000..2833948 --- /dev/null +++ b/po/da/plasma-discover.po @@ -0,0 +1,648 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Martin Schlander , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# scootergrisen, 2017-2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-07-12 10:34+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kunne ikke finde kategorien \"%1\"" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Kunne ikke åbne %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Åbn det angivne program direkte ved dets pakkenavn." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Åbn med et program som kan håndtere den givne MIME-type." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Vis en liste over indgange med en kategori." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Åbn Discover i nævnte tilstand. Tilstande svarer til værktøjslinjeknapperne." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Oplist alle tilgængelige tilstande." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt tilstand (auto/kompakt/fuld)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokal pakkefil der skal installeres" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Oplist alle tilgængelige backends." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Understøtter appstream: URL-skema" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Opdagelse af programmer" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma udviklingsholdet" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Tilgængelige backends:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Tilgængelige tilstande:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Tilføjelser" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Anvend ændringer" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Kassér" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Mere..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Tilføj en ny %1-softwarekilde" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Tilføj" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Annullér" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 vurdering" +msgstr[1] "%1 vurderinger" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Ingen vurdering endnu" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Kilder" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Hvad er nyt" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Anmeldelser" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Vis anmeldelser (%1)..." +msgstr[1] "Vis anmeldelser (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Indsend" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Vær den første der skriver en anmeldelse!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Installér dette program og vær den første der skriver en anmeldelse!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategorier:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Størrelse:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Kilde:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licens:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Hjemmeside:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Brugerguide:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donér:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Rapportér et problem:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sortering: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Navn" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Karakter" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Størrelse" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Udgivelsesdato" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Beklager, fandt ikke noget..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Søger stadig..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Udvalgte" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "At køre som root frarådes og er unødvendigt." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Søg" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installeret" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Tjekker efter opdateringer..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Ingen opdateringer" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Opdatér (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Indstillinger" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Beklager..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Kunne ikke lukke programmet, der er opgaver der skal udføres." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Kan ikke finde ressourcen: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Fortsæt" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installér" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Fjern" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Indlæser..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressourcer til \"%1\"" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Udvidelser..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Opgaver (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Opgaver" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, fuzzy, kde-format +#| msgctxt "TransactioName - TransactionStatus" +#| msgid "%1 - %2: %3" +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2: %3" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Fortæl os om denne anmeldelse!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 ud af %2 personer syntes denne anmeldelse var nyttig" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "ukendt kontrollant" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 af %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar af %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttigt? Ja/Nej" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttigt? Ja/Nej" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig? Ja/Nej" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Efterser \"%1\"" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Karakter:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Indsendelsesnavn: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Titel:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Anmeldelse:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Angiv en vurdering" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Skriv en titel" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Bliv ved med at skrive..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "For lang!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Indsend anmeldelse" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Anmeld..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Søg..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Søg i \"%1\"..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (standard)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Gør standard" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Tilføj kilde..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Kunne ikke forøge præferencen for \"%1\"" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Kunne ikke formindske præferencen for \"%1\"" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Slet oprindelse" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Kan ikke fjerne ressourcen \"%1\"" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Manglende motorer" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Opdateringer" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Opdatér markerede" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Opdatér alle" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "opdateringer valgt" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "opdateringer ikke valgt" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Mere information..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Henter..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Tjekker efter opdateringer" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Opdaterer..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Henter opdateringer" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Opdateringer" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Dit system er fuldt opdateret" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Ingen opdateringer" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Ingen opdateringer er tilgængelige" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Skal tjekke efter opdateringer" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Det er uvist hvornår seneste tjek for opdateringer fandt sted" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/da/plasma_applet_org.kde.discovernotifier.po b/po/da/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..8dc6029 --- /dev/null +++ b/po/da/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-12 10:34+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Se opdateringer..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Starter softwaren for at udføre opdateringen" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Åbn softwarecenter..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Se opdateringer..." \ No newline at end of file diff --git a/po/de/libdiscover.po b/po/de/libdiscover.po new file mode 100644 index 0000000..12adb5d --- /dev/null +++ b/po/de/libdiscover.po @@ -0,0 +1,1582 @@ +# Panagiotis Papadopoulos , 2010. +# Jonathan Raphael Joachim Kolberg , 2010. +# Frederik Schwarzer , 2010, 2011, 2015, 2016, 2018. +# Burkhard Lück , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-11-16 07:31+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Anwendungen" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Dienstprogramme" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Zugangshilfen" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Entwicklungswerkzeuge" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Fehlersuche" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Design grafischer Oberflächen" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Entwicklungsumgebungen" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisierung" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiling" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web-Entwicklung" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Lernprogramme" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Wissenschaft und Ingenieurwesen" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemie" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Computer-Wissenschaften und Robotik" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingenieurwesen" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografie" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematik" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physik" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spiele" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Brettspiele" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kartenspiele" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollenspiele" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Aktion" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatoren" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Zeichnen" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Malen und Bearbeiten" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Veröffentlichen" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scannen und Texterkennung" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Dateibetrachter" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Dateifreigabe" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-Mail" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webbrowser" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Audio- und Video-Editoren" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Audiospieler" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Videospieler" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD und DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Büroprogramme" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Systemeinstellungen" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-Erweiterungen" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-Miniprogramme" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Schriftarten" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Dummy-Kategorie" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Dummy" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Dummy-Erweiterungen" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Dummy 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Dummy mit Sachen" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "Dummy 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Dummy mit vielen Sachen" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Dummy 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Dummy 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokales Paket" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Ungültige Appstream Adresse „%1“" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Unbekannt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Größeninformation wird abgeholt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Unbekannte Größe" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 herunterzuladen, %2 auf der Festplatte" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 auf der Festplatte" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub hinzufügen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Die Quelle %1 kann nicht hinzugefügt werden" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI des Flatpak-Repository (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "EULA (Endbenutzer-Lizenzvereinbarung) akzeptieren" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Der entfernte Rechner %1 verlangt, dass Sie Ihre Lizenz akzeptieren:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ungültiges %1-Backend. Bitte kontaktieren Sie Ihren Distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-Erweiterungen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Erweiterungen für Anwendungen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Falsche KNewStuff-URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Verwenden" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Anmeldungsinformationen für %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Stellen Sie sicher, dass Appstream auf Ihrem System korrekt eingerichtet ist" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Nicht genügend Speicher" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Keine Netzwerkverbindung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operation nicht unterstützt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Interner Fehler" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG-Fehler" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Die Paket-Kennung ist ungültig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Das Paket ist nicht installiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Das Paket wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Das Paket ist bereits installiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Herunterladen des Pakets fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Die Paketgruppe wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Die Paketgruppenliste ist ungültig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Auflösung der Abhängigkeit fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Ungültiger Filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Fehler beim Erstellen eines Threads" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Fehlerhafter Vorgang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Vorgang abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Kein Zwischenspeicher verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Die Paketquelle wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Systempaket kann nicht entfernt werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Der PackageKit-Dienst ist abgestürzt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Die Initialisierung ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Vorgang kann nicht abgeschlossen werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Das Einlesen der Einstellungen ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Abbruch des Vorgangs ist nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Sperrung nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Keine Pakete für Aktualisierung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Die Einstellungen für die Paketquelle können nicht geschrieben werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokale Installation fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Ungültige GPG-Signatur gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Keine GPG-Signatur gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Das Quelltextpaket kann nicht installiert werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Einrichtungsfehler der Paketquelle" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Keine Lizenzvereinbarung" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Es ist ein Datei-Konflikt aufgetreten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Es ist ein Paket-Konflikt aufgetreten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Die Paketquelle ist nicht verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ungültige Paketdatei" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Installation des Pakets blockiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Es wurde ein fehlerhaftes Paket gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Alle Pakete sind bereits installiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Datei nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Keine weiteren Spiegelserver verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Es sind keine Daten für eine Distributionsaktualisierung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Die Rechner-Architektur ist nicht kompatibel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Auf dem Gerät ist kein Speicherplatz mehr verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Ein Wechsel des Mediums ist erforderlich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Sie haben keine Autorisierung, um diesen Vorgang durchzuführen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Aktualisierung wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" +"Die Installation aus einer nicht signierten Paketquelle ist nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" +"Die Aktualisierung aus einer nicht signierten Paketquelle ist nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Die Dateiliste kann nicht bezogen werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Die Abhängigkeiten können nicht bezogen werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Die Paketquelle kann nicht deaktiviert werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Eingeschränktes Herunterladen wurde erkannt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Das Konfigurieren des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Das Kompilieren des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Das Installieren des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Das Entfernen des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Die Aktualisierung ist wegen laufender Prozesse fehlgeschlagen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Die Paketdatenbank ist geändert worden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Der bereitgestellte Typ wird nicht unterstützt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Die Installationsbasis ist ungültig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Abholen der Quellen nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Priorität abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nicht beendeter Vorgang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Sperre erforderlich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Unbekannter Fehler %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ wurde geändert und empfiehlt den Neustart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Eine Änderung durch „%1“ empfiehlt den neuen Start der Sitzung." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1“ wurde aus Sicherheitsgründen aktualisiert, ein neuer Start der Sitzung " +"wird empfohlen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1“ wurde aus Sicherheitsgründen aktualisiert, ein neuer Start des Systems " +"wird empfohlen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Eine Änderung durch „%1“ empfiehlt den neuen Start des Rechners." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Die Anwendung muss neu gestartet werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Die Sitzung muss neu gestartet werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Das System muss neu gestartet werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Aus Sicherheitsgründen muss die Sitzung neu gestartet werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Aus Sicherheitsgründen muss das System neu gestartet werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Warten ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Zwischenspeicher wird aktualisiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Einrichtung ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Verarbeitung läuft ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Entfernen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Herunterladen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Wird installiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Aktualisierung ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Aufräumen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Abhängigkeiten werden aufgelöst ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Signaturen werden überprüft ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Einspielen wird getestet ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Wird eingespielt ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Abgeschlossen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Es wird auf Sperre gewartet ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Autorisierung wird erwartet ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Dateien werden kopiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Unbekannter Status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Es wird gewartet." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Einrichten des Vorgangs ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Der Vorgang läuft gerade ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Der Vorgang entfernt zurzeit Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Der Vorgang lädt zurzeit Pakete herunter ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Der Vorgang installiert zurzeit Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Der Vorgang aktualisiert zurzeit Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Der Vorgang räumt zurzeit auf ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Der Vorgang löst zurzeit die Abhängigkeiten der zu installierenden Pakete " +"auf ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Der Vorgang überprüft zurzeit die Signaturen der Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Der Vorgang testet zurzeit das Einspielen dieser Gruppe von Paketen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" +"Der Vorgang spielt zurzeit das Einspielen diese Gruppe von Paketen ein ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Der Vorgang wurde abgeschlossen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Der Vorgang wurde abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Der Vorgang wartet zurzeit auf eine Sperre ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Es wird darauf gewartet, dass der Benutzer den Vorgang autorisiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Der Vorgang kopiert zurzeit Dateien ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Der Paketquellen-Zwischenspeicher wird aktualisiert ...1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Unbekannter Status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Unstable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Offline-Aktualisierungen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Die Aktualisierung von %1 Paketen ist fehlgeschlagen\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 Pakete erfolgreich aktualisiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Paketaktualisierung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Neue Entwickler-Version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Neue Version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Aktuelle Version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Veraltete Pakete:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Neue Version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Aktualisierungsstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Neustart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Hersteller:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (und %1 Abhängigkeit)" +msgstr[1] "%2 (und %1 Abhängigkeiten)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Archiv-Adresse:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Zu entfernende Pakete" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Die folgenden Pakete werden bei dieser Aktualisierung entfernt:\n" +"
    • %1
    \n" +"um diese Paket zu installieren:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Starten Sie bitte den Rechner neu, um die Installation abzuschließen" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Ein Medienwechsel vom Typ „%1“ ist erforderlich.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Das Paket %1 und dessen Anbieter %2 verlangen, dass Sie Ihre Lizenz " +"akzeptieren:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Fehlende Signatur für %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Vertrauen Sie dem folgenden Schlüssel?\n" +"\n" +"Adresse: %1\n" +"Benutzer: %2\n" +"Schlüssel: %3\n" +"Fingerabdruck: %4\n" +"Zeitstempel: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Entfernen des Pakets bestätigen" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Diese Aktion wird zusätzlich das folgende Paket entfernen:\n" +"%2" +msgstr[1] "" +"Diese Aktion wird zusätzlich folgende Pakete entfernen:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Für diese Snap-Anwendung muss die Sicherheits-Einschränkung abgeschaltet " +"werden." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Alle Backends getrennt durch Komma („,“) anzeigen, die geladen werden sollen." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Defekt" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Verfügbar" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installiert" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Aktualisierbar" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Starten" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Auf Aktualisierungen prüfen" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Aktualisieren" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Startvorgang" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Wartend" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Wird heruntergeladen" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Wird installiert" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Wird entfernt" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Erweiterungen werden geändert" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Abgeschlossen" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fehlgeschlagen" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Abgebrochen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programm-Aktualisierungen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "System-Aktualisierungen" \ No newline at end of file diff --git a/po/de/plasma-discover-notifier.po b/po/de/plasma-discover-notifier.po new file mode 100644 index 0000000..d19649d --- /dev/null +++ b/po/de/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Burkhard Lück , 2015, 2018. +# Frederik Schwarzer , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-10-07 14:21+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Aktualisierung" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Sicherheitskritische Aktualisierungen sind verfügbar" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Verfügbare Aktualisierungen" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Das System ist auf dem neusten Stand" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Der Rechner muss neu gestartet werden" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 Paket kann aktualisiert werden" +msgstr[1] "%1 Pakete können aktualisiert werden" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "1 davon ist sicherheitskritisch" +msgstr[1] "%1 davon sind sicherheitskritisch" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 Paket kann aktualisiert werden" +msgstr[1] "%1 Pakete können aktualisiert werden" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 Sicherheitsrelevante Aktualisierung" +msgstr[1] "%1 Sicherheitsrelevante Aktualisierungen" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Keine Pakete für Aktualisierung verfügbar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Ein Neustart ist erforderlich" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Das System muss neu gestartet werden, damit die Aktualisierungen wirksam " +"werden." \ No newline at end of file diff --git a/po/de/plasma-discover.po b/po/de/plasma-discover.po new file mode 100644 index 0000000..de6ae49 --- /dev/null +++ b/po/de/plasma-discover.po @@ -0,0 +1,656 @@ +# Frederik Schwarzer , 2012, 2013, 2015, 2016, 2018. +# Burkhard Lück , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-11-05 16:38+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Die Kategorie „%1“ wurde nicht gefunden" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Die Bearbeitung von Flatpack-Ressourcen ist ohne das Flatpak-Backend %1 " +"nicht möglich. Installieren Sie es zuerst." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "„%1“ kann nicht geöffnet werden" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Öffnet die angegebene Anwendung direkt über seinen Paketnamen." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" +"Mit einem Programm öffnen, das den angegebenen Mime-Typ verarbeiten kann." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Zeigt eine Liste von Einträgen mit einer Kategorie." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Öffnet Discover im genannten Modus. die Modi entsprechen den Knöpfen in der " +"Werkzeugleiste." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Alle verfügbaren Modi anzeigen." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakter Modus (Auto/Kompakt/Voll)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Zu installierende lokale Paketdatei" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Zeigt alle verfügbaren Backends." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Unterstützt Appstream: Adressschema" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Ein Programm, um Anwendungen zu finden" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "Copyright © 2010-2018 Plasma-Entwicklerteam" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Verfügbare Backends:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Verfügbare Modi:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Erweiterungen" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Änderungen anwenden" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Verwerfen" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Weitere ..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Eine neue Paketquelle %1 hinzufügen" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Hinzufügen" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Abbrechen" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 Bewertung" +msgstr[1] "%1 Bewertungen" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Noch keine Bewertungen" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Quellen" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Was ist neu?" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Bewertungen" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 Bewertung anzeigen ..." +msgstr[1] "Alle %1 Bewertungen anzeigen ..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Schreiben Sie eine Bewertung." + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Seien Sie der Erste, der eine Bewertung schreibt." + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Installieren Sie diese Anwendung, um eine Bewertung zu schreiben." + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" +"Installieren Sie diese Anwendung und seien Sie der Erste, der eine Bewertung " +"schreibt." + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategorie:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, veröffentlicht am %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Größe:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Quelle:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lizenz:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Internetseite:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Benutzerhandbuch:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Spenden:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Problembericht senden:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sortieren: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Name" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Bewertung" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Größe" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Freigabedatum" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Leider wurde nichts gefunden ..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Suchen ..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Die Ausführung als Systemverwalter (root) ist unnötig und es wird " +"davon abgeraten." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Suchen" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installiert" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Es wird nach Aktualisierungen gesucht ..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Keine Aktualisierungen" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aktualisierung (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Einstellungen" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Fehler ..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Die Anwendung kann nicht geschlossen werden, da noch Aufgaben abgeschlossen " +"werden müssen." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ressource %1 wurde nicht gefunden" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Fortfahren" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installieren" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Entfernen" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Wird geladen ..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressourcen für „%1“" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Erweiterungen ..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Aufgaben (%1 %)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Aufgaben" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Erzählen Sie uns über diese Rezension." + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 von %2 Personen fanden diese Rezension hilfreich" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "Unbekannter Rezensent" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 von %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar von %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Nützlich? Ja/Nein" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Nützlich? Ja/Nein" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nützlich? Ja/Nein" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "„%1“ bewerten" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Bewertung:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Titel:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Bewertung:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Geben Sie eine Bewertung ein" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Titel eingeben" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Schreiben Sie mehr ..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Zu lang." + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Bewertung absenden" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Bewerten ..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Suchen ..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Suchen in „%1“ ..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Standard)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Als Standard setzen" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Quelle hinzufügen ..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Präferenz für „%1“ kann nicht erhöht werden" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Präferenz für „%1“ kann nicht verringert werden" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Paketquelle löschen" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Die Quelle „%1“ kann nicht entfernt werden" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Fehlende Backends" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aktualisierungen" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Aktualisierung ausgewählt" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Alles aktualisieren" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "Aktualisierungen ausgewählt" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "Aktualisierungen nicht ausgewählt" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Weitere Informationen ..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Wird abgerufen ..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Suchen nach Aktualisierungen " + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Aktualisierung läuft ..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Aktualisierungen werden geholt" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aktualisierungen" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Das System ist auf dem neuesten Stand" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Keine Aktualisierungen" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Es sind keine Aktualisierungen verfügbar" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Soll auf Aktualisierungen prüfen" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" +"Es kann nicht bestimmt werden, wann zuletzt nach Aktualisierungen gesucht " +"worden ist" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Verknüpfungsadresse kopieren" \ No newline at end of file diff --git a/po/de/plasma_applet_org.kde.discovernotifier.po b/po/de/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..f405268 --- /dev/null +++ b/po/de/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,35 @@ +# Burkhard Lück , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-11-05 16:35+0100\n" +"Last-Translator: Burkhard Lück \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Aktualisierungen ansehen" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Startet Discover zur Aktualisierung der Software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Programmverwaltung öffnen ..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Aktualisierungen ansehen ..." \ No newline at end of file diff --git a/po/el/libdiscover.po b/po/el/libdiscover.po new file mode 100644 index 0000000..e490832 --- /dev/null +++ b/po/el/libdiscover.po @@ -0,0 +1,1600 @@ +# # el translation of libmuon.po +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stelios , 2011, 2012, 2013, 2017. +# Dimitrios Glentadakis , 2012. +# Dimitris Kardarakos , 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-09-08 16:13+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Εφαρμογές" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Εξαρτήματα" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Προσβασιμότητα" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Εργαλεία προγραμματιστή" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Αποσφαλμάτωση" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Σχεδιασμός γραφικού περιβάλλοντος" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Τοπική προσαρμογή" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Ανάλυση επιδόσεων" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Ανάπτυξη ιστού" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Εκπαίδευση" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Επιστήμη και Τεχνολογία" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Αστρονομία" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Βιολογία" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Χημεία" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Πληροφορική και Ρομποτική" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Ηλεκτρονικά" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Τεχνολογία" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Γεωγραφία" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Γεωλογία" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Μαθηματικά" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Φυσική" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Παιχνίδια" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Επιτραπέζια" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Κάρτες" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Σπαζοκεφαλιές" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Παιχνίδια ρόλων" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Προσομοίωση" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Αθλητικά" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Εφαρμογές" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Προσομοίωση" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Γραφικά" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "Τρισδιάστατα" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Σχεδίαση" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Ζωγραφική και Επεξεργασία" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Φωτογραφία" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Τυπογραφία" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Σάρωση και OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Προβολείς" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Διαδίκτυο" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Συνομιλία" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Διαμοιρασμός αρχείων" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Αλληλογραφία" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Περιηγητές ιστού" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Πολυμέσα" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Γραφείο" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Ρυθμίσεις συστήματος" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Πρόσθετα Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Γραφικά συστατικά Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Γραμματοσειρές" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Πλασματική κατηγορία" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "πλασματικό" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "πλασματικά πρόσθετα" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "πλασματικό 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "πλασματικό με περιεχόμενο" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "πλασματικό 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "πλασματικό με αρκετό περιεχόμενο" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "πλασματικό 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "πλασματικό 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Κακοδιατυπωμένο appstream url '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Άγνωστη" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Ανάκτηση πληροφοριών μεγέθους" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Άγνωστο μέγεθος" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 για λήψη, %2 στο δίσκο" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 στο δίσκο" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Αδυναμία προσθήκης της πηγής %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI αποθετηρίου Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Αποδοχή EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Το πακέτο %1 και ο κατασκευαστής του %2 απαιτεί να αποδεχτείτε την άδεια " +"χρήσης τους:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Πρόσθετα Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Πρόσθετα εφαρμογών" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Λανθασμένο KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Πληροφορίες σύνδεσης για %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Βεβαιωθείτε ότι το Appstream έχει εγκατασταθεί σωστά στο σύστημά σας" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Έλλειψη μνήμης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Μη διαθέσιμη σύνδεση δικτύου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Μη υποστηριζόμενη λειτουργία" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Εσωτερικό σφάλμα" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Αποτυχία GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Μη έγκυρο PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Το πακέτο δεν εγκαταστάθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Το πακέτο δε βρέθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Το πακέτο είναι ήδη εγκατεστημένο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Αποτυχία λήψης του πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Η συλλογή πακέτων δε βρέθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Μη έγκυρη λίστα συλλογής πακέτων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Αποτυχία επίλυσης εξαρτήσεων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Μη έγκυρο φίλτρο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Αποτυχία κατά τη δημιουργία νήματος" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Αποτυχία συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Ακύρωση συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Μη διαθέσιμη λανθάνουσα μνήμη" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Αδυναμία εύρεσης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Αδυναμία αφαίρεσης πακέτου συστήματος" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Ο δαίμονας του PackageKit κατέρρευσε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Αποτυχία αρχικοποίησης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Αποτυχία ολοκλήρωσης συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Αποτυχία ανάλυσης της διαμόρφωσης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Αδυναμία ακύρωσης συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Αδυναμία κλειδώματος" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Κανένα πακέτο προς ενημέρωση" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Αδυναμία εγγραφής διαμόρφωσης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Αποτυχία τοπικής εγκατάστασης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Βρέθηκε κακή υπογραφή GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Δε βρέθηκε υπογραφή GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Αδυναμία εγκατάστασης πηγαίου πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Σφάλμα διαμόρφωσης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Δεν υπάρχει άδεια χρήσης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Βρέθηκαν συγκρούσεις αρχείων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Βρέθηκε σύγκρουση πακέτων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Μη διαθέσιμο αποθετήριο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Μη έγκυρο αρχείο πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Φραγή εγκατάστασης πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Βρέθηκε κατεστραμμένο πακέτο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Όλα τα πακέτα είναι ήδη εγκατεστημένα" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Το αρχείο δε βρέθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Δεν υπάρχουν άλλοι διαθέσιμοι εναλλακτικοί σύνδεσμοι" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Δεν υπάρχουν δεδομένα αναβάθμισης διανομής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Ασύμβατη αρχιτεκτονική" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Δεν υπάρχει ελεύθερος χώρος στη συσκευή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Απαιτείται αλλαγή μέσου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Δεν έχετε εξουσιοδότηση για να εκτελέσετε αυτή τη λειτουργία" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Δε βρέθηκε ενημέρωση" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Αδυναμία εγκατάστασης από αποθετήριο χωρίς υπογραφή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Αδυναμία ενημέρωσης από αποθετήριο χωρίς υπογραφή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Αδυναμία λήψης λίστας αρχείων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Αδυναμία λήψης απαιτούμενων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Αδυναμία απενεργοποίησης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Ανίχνευση περιοριστικής λήψης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Αποτυχία διαμόρφωσης του πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Αποτυχία δημιουργίας πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Αποτυχία εγκατάστασης πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Αποτυχία αφαίρεσης πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Αποτυχία ενημέρωσης λόγω κάποιας ενεργούς διαδικασίας" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Η βάση δεδομένων των πακέτων έχει αλλάξει" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Ο τύπος που δόθηκε δεν υποστηρίζεται" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Μη έγκυρη εγκατάσταση του χρήστη root" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Αδυναμία ανάκτησης πηγών" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Ακύρωση προτεραιότητας" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ανολοκλήρωτη συναλλαγή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Απαιτείται κλείδωμα" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Άγνωστο σφάλμα %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "το '%1' άλλαξε και συνίσταται η επανεκκίνησή του." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Μια αλλαγή από το '%1' συνιστά την επανεκκίνηση της συνεδρίας σας." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"Το '%1' ενημερώθηκε για λόγους ασφαλείας, συνίσταται η επανεκκίνηση της " +"συνεδρίας." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"Το '%1' ενημερώθηκε για λόγους ασφαλείας, συνίσταται η επανεκκίνηση του " +"συστήματος." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Μια αλλαγή από το '%1' συνιστά την επανεκκίνηση του συστήματός σας." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Η εφαρμογή πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Η συνεδρία πρέπει να επανεκκινηθεί" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Το σύστημα πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Για λόγους ασφαλείας, η συνεδρία πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Για λόγους ασφαλείας, το σύστημα πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Αναμονή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Ανανέωση λανθάνουσας μνήμης..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Ρύθμιση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Επεξεργασία..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Αφαίρεση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Λήψη..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Εγκατάσταση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Ενημέρωση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Εκκαθάριση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Επίλυση εξαρτήσεων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Έλεγχος υπογραφών..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Έλεγχος υποβολής..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Υποβολή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Ολοκληρώθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Ακυρώθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Αναμονή για κλείδωμα..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Αναμονή για εξουσιοδότηση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Αντιγραφή αρχείων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Άγνωστη κατάσταση" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Αναμονή για κάποια ενέργεια." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Ρύθμιση συναλλαγής..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Η συναλλαγή εκτελείται αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Η συναλλαγή αφαιρεί πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Η συναλλαγή λαμβάνει πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Η συναλλαγή εγκαθιστά πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Η συναλλαγή ενημερώνει πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Η συναλλαγή πραγματοποιεί εκκαθάριση αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Η συναλλαγή αυτή τη στιγμή επιλύει τις εξαρτήσεις των πακέτων που θα " +"εγκαταστήσει..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Η συναλλαγή αυτή τη στιγμή ελέγχει τις υπογραφές των πακέτων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Η συναλλαγή αυτή τη στιγμή ελέγχει την υποβολή αυτού του συνόλου πακέτων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Η συναλλαγή αυτή τη στιγμή υποβάλει το σύνολο των πακέτων της..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Η συναλλαγή έχει ολοκληρωθεί!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Η συναλλαγή ακυρώθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Η συναλλαγή αυτή τη στιγμή αναμένει το κλείδωμα..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Αναμονή για εξουσιοδότηση της συναλλαγής από τον χρήστη..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Η συναλλαγή αντιγράφει αρχεία αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Αυτή τη στιγμή ανανεώνεται η λανθάνουσα μνήμη του αποθετηρίου..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Άγνωστη κατάσταση: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Σταθερή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ασταθής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Σε δοκιμή" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Ενημερώσεις εφαρμογών" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Αποτυχία λήψης %1\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Αναβαθμίσιμο" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Έκδοση %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Lock at Current Version" +msgid "Current Version:" +msgstr "Κλείδωμα στην τρέχουσα έκδοση" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Ξεπερασμένα:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Έκδοση %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Κατάσταση ενημέρωσης:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Επανεκκίνηση:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Προμηθευτής:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Περιγραφή αποθετηρίου:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Πακέτα προς αφαίρεση" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "%1" +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Τα ακόλουθα πακέτα θα αφαιρεθούν με την ενημέρωση:\n" +"%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Ζητήθηκε αλλαγή μέσου τύπου '%1'.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Το πακέτο %1 και ο κατασκευαστής του %2 απαιτεί να αποδεχτείτε την άδεια " +"χρήσης τους:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "Unable to download the following packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Αδυναμία λήψης των ακόλουθων πακέτων:" +msgstr[1] "Αδυναμία λήψης των ακόλουθων πακέτων:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, fuzzy, kde-format +#| msgid "" +#| "List all the backends we'll want to have loaded, separated by coma ','." +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Εμφάνιση όλων των συστημάτων υποστήριξης που θα θέλαμε να φορτωθούν, " +"χωρισμένα με κόμμα ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Κατεστραμμένο" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Διαθέσιμο" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Εγκαταστάθηκε" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Αναβαθμίσιμο" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Έλεγχος ενημερώσεων" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Ενημέρωση" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Έναρξη" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Σε αναμονή" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Γίνεται λήψη" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Γίνεται εγκατάσταση" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Γίνεται αφαίρεση" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Γίνεται αλλαγή προσθέτων" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Ολοκληρώθηκε" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Αποτυχία" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Ακύρωση" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Ενημερώσεις εφαρμογών" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Ενημερώσεις συστήματος" \ No newline at end of file diff --git a/po/el/plasma-discover-notifier.po b/po/el/plasma-discover-notifier.po new file mode 100644 index 0000000..87e5777 --- /dev/null +++ b/po/el/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Dimitris Kardarakos , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-11-18 16:13+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Διαθέσιμες ενημερώσεις ασφαλείας" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Διαθέσιμες ενημερώσεις" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Το σύστημα είναι ενημερωμένο" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 πακέτo προς ενημέρωση" +msgstr[1] "%1 πακέτα προς ενημέρωση" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "από τα οποία το 1 είναι ενημέρωση ασφαλείας" +msgstr[1] "από τα οποία τα %1 είναι ενημερώσεις ασφαλείας" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 πακέτο προς ενημέρωση" +msgstr[1] "%1 πακέτα προς ενημέρωση" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 ενημέρωση ασφαλείας" +msgstr[1] "%1 ενημερώσεις ασφαλείας" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Κανένα πακέτο προς ενημέρωση" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/el/plasma-discover.po b/po/el/plasma-discover.po new file mode 100644 index 0000000..403edc0 --- /dev/null +++ b/po/el/plasma-discover.po @@ -0,0 +1,679 @@ +# muon-discover.po translation el +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stelios , 2012. +# Dimitrios Glentadakis , 2012. +# Dimitris Kardarakos , 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2017-06-12 16:28+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Αδυναμία εύρεσης της κατηγορίας '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Αδυναμία ανοίγματος του %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Απευθείας άνοιγμα της σχετικής εφαρμογής με το όνομα του πακέτου της." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" +"Ανοίξτε το με ένα πρόγραμμα που μπορεί να χειριστεί το δοσμένο τύπο mime." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Εμφανίζει μια λίστα εγγραφών με κατηγορία." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Άνοιγμα του Discover στη δηλωθείσα λειτουργία. Οι λειτουργίες αντιστοιχούν " +"σε κουμπιά της γραμμής εργαλείων." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Εμφάνιση όλων των διαθέσιμων λειτουργιών." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Λειτουργία συμπτυγμένης προβολής (auto/compact/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Τοπικό αρχείο πακέτου για εγκατάσταση" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Εμφάνιση όλων των διαθέσιμων συστημάτων υποστήριξης." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Υποστήριξη appstream: μορφή url " + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Ένας εξερευνητής εφαρμογών" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2016 Η ομάδα ανάπτυξης του Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Διαθέσιμα συστήματα υποστήριξης:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Διαθέσιμες λειτουργίες:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Πρόσθετα" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Εφαρμογή αλλαγών" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Απόρριψη" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Περισσότερα..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Πρόσθετα" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Ακύρωση" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Αξιολόγηση" +msgstr[1] "Αξιολόγηση" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Πηγές" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Κριτικές" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Εμφάνιση σχολίων (%1)..." +msgstr[1] "Εμφάνιση σχολίων (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Αποστολή" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, fuzzy, kde-format +#| msgid "Categories" +msgid "Category:" +msgstr "Κατηγορίες" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Έκδοση: %1" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Μέγεθος: %1" + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Πηγές" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "License: %1" +msgid "License:" +msgstr "Άδεια χρήσης: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Ιστοσελίδα: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Sort by " +msgid "Sort: %1" +msgstr "Ταξινόμηση κατά " + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Όνομα" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Αξιολόγηση" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Μέγεθος: %1" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Δυστυχώς, δε βρέθηκε τίποτα..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Ακόμα γίνεται αναζήτηση..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Η εκτέλεση ως root δε συνίσταται και δε χρειάζεται." + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Αναζήτηση..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Εγκατεστημένο" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Έλεγχος ενημερώσεων..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Καμία ενημέρωση" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Ενημέρωση (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ρυθμίσεις" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Σύντομη περίληψη..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Αδυναμία κλεισίματος της εφαρμογής, υπάρχουν εργασίες που πρέπει να γίνουν." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Αδυναμία εύρεσης του πόρου: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Εγκατάσταση" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Αφαίρεση" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Φόρτωση..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Πόροι για το '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Επεκτάσεις..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Εργασίες (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Εργασίες" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Πείτε μας για αυτήν την κριτική!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 στα %2 άτομα βρήκαν την κριτική αυτή χρήσιμη" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "άγνωστος αναθεωρητής" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 από %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Σχόλια" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Χρήσιμη; Ναι/Όχι" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Χρήσιμη; Ναι/Όχι" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Χρήσιμη; Ναι/Όχι" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Κριτική '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Αξιολόγηση:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Κριτική" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ενημέρωση..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Αποστολή" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Κριτική" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Αναζήτηση..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Αναζήτηση στο '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Προσθήκη πηγής" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Διαγραφή της πηγής" + +#: discover/qml/SourcesPage.qml:205 +#, fuzzy, kde-format +#| msgid "Unable to find resource: %1" +msgid "Failed to remove the source '%1'" +msgstr "Αδυναμία εύρεσης του πόρου: %1" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Ενημέρωση επιλεγμένων" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Ενημέρωση όλων" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "επιλεγμένες ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "μη επιλεγμένες ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Ενημέρωση..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Checking for updates..." +msgctxt "@info" +msgid "Looking for updates" +msgstr "Έλεγχος ενημερώσεων..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Ενημέρωση..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Ανάκτηση ενημερώσεων" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Το σύστημα είναι ενημερωμένο" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Καμία ενημέρωση" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Δεν υπάρχουν διαθέσιμες ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Πρέπει να γίνει έλεγχος ενημερώσεων" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Άγνωστο πότε έγινε ο τελευταίος έλεγχος για ενημερώσεις" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/el/plasma_applet_org.kde.discovernotifier.po b/po/el/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..e6bfd05 --- /dev/null +++ b/po/el/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Dimitris Kardarakos , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-10-31 21:26+0200\n" +"Last-Translator: Dimitris Kardarakos \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Δείτε τις ενημερώσεις..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Εκκινεί το λογισμικό για την εκτέλεση της ενημέρωσης" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Δείτε τις ενημερώσεις..." \ No newline at end of file diff --git a/po/en_GB/libdiscover.po b/po/en_GB/libdiscover.po new file mode 100644 index 0000000..4f26cf0 --- /dev/null +++ b/po/en_GB/libdiscover.po @@ -0,0 +1,1577 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrew Coles , 2010, 2011. +# Steve Allewell , 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-15 12:47+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Applications" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessories" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibility" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Developer Tools" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Debugging" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Graphic Interface Design" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localisation" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiling" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web Development" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Education" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Science and Engineering" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomy" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biology" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemistry" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Computer Science and Robotics" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronics" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Engineering" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geography" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geology" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematics" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physics" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Games" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Board Games" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Card Games" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Role Playing" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategy" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sports" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulators" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graphics" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Drawing" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Painting and Editing" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Photography" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publishing" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scanning and OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Viewers" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "File Sharing" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Mail" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Web Browsers" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Audio and Video Editors" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Audio Players" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Video Players" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD and DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Office" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "System Settings" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma Addons" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma Widgets" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonts" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Dummy Category" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "dummy addons" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy with stuff" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "dummy 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy with quite some stuff" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Local bundle" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Malformed appstream URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Unknown" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Retrieving size information" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Unknown size" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 to download, %2 on disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 on disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Add Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Could not add the source %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak repository URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Accept EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"The remote %1 require that you accept their licence:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Invalid %1 backend, contact your distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma Addons" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Application Addons" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Wrong KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Use" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Log in information for %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Please make sure that Appstream is properly set up on your system" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Out of memory" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "No network connection available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operation not supported" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Internal error" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG failure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Package not installed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Package not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Package is already installed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Package download failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Package group not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Package group list invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Dependency resolution failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filter invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Failed while creating a thread" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transaction failure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaction cancelled" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "No Cache available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Cannot find repository" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Cannot remove system package" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "The PackageKit daemon has crashed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Initialisation failure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Failed to finalise transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Config parsing failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Cannot cancel transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Cannot obtain lock" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "No packages to update" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Cannot write repo config" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Local install failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Bad GPG signature found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "No GPG signature found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Cannot install source package" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Repo configuration error" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "No licence agreement" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "File conflicts found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Package conflict found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repo not available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Invalid package file" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Package install blocked" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Corrupt package found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "All packages already installed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "File not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "No more mirrors available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "No distro upgrade data" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Incompatible architecture" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "No space on device left" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "A media change is required" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "You have no authorisation to execute this operation" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Update not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Cannot install from unsigned repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Cannot update from unsigned repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Cannot get file list" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Cannot get requires" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Cannot disable repository" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Restricted download detected" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Package failed to configure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Package failed to build" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Package failed to install" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Package failed to remove" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Update failed due to running process" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "The package database changed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "The provided type is not supported" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Install root is invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Cannot fetch sources" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Cancelled priority" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Unfinished transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Lock required" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Unknown error %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' was changed and suggests to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "A change by '%1' suggests your session to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "A change by '%1' suggests your system to be rebooted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "The application will have to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "The session will have to be restarted" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "The system will have to be rebooted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "For security, the session will have to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "For security, the system will have to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Waiting..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Refreshing Cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Setup..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Processing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Remove..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Downloading..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Updating..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Cleaning up..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolving dependencies..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Checking signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Test committing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Committing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Finished" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Cancelled" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Waiting for lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Waiting for authorisation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Copying files..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Unknown Status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "We are waiting for something." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Setting up transaction..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "The transaction is currently working..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "The transaction is currently removing packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "The transaction is currently downloading packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "The transaction is currently installing packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "The transaction is currently updating packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "The transaction is currently cleaning up..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" +"The transaction is currently checking the signatures of the packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"The transaction is currently testing the commit of this set of packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "The transaction is currently committing its set of packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "The transaction has finished!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "The transaction was cancelled" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "The transaction is currently waiting for the lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Waiting for the user to authorise the transaction..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "The transaction is currently copying files..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Currently refreshing the repository cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Unknown status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Unstable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Offline Updates" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Failed to update %1 packages\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Successfully updated %1 packages" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Upgrade available" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "New unstable version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "New version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Current Version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsoletes:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "New Version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Update State:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Restart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Vendor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 dependency)" +msgstr[1] "%2 (plus %1 dependencies)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Repository URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Packages to remove" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Please restart the computer to finish the installation" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Media Change of type '%1' is requested.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"The package %1 and its vendor %2 require that you accept their licence:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Missing signature for %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Do you trust the following key?\n" +"\n" +"URL: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirm package removal" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"This action will also remove the following package:\n" +"%2" +msgstr[1] "" +"This action will also remove the following packages:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "This snap application needs security confinement measures disabled." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"List all the backends we'll want to have loaded, separated by comma ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Broken" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Available" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installed" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Upgradeable" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Launch" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Check for Updates" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Update" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Starting" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Waiting" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Downloading" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installing" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Removing" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Changing Addons" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Done" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Failed" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelled" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Application Updates" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "System Updates" \ No newline at end of file diff --git a/po/en_GB/plasma-discover-notifier.po b/po/en_GB/plasma-discover-notifier.po new file mode 100644 index 0000000..38e22f0 --- /dev/null +++ b/po/en_GB/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Steve Allewell , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-08-15 12:48+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Update" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Security updates available" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Updates available" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "System up to date" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Computer needs to restart" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 package to update" +msgstr[1] "%1 packages to update" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "of which 1 is security update" +msgstr[1] "of which %1 are security updates" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 package to update" +msgstr[1] "%1 packages to update" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 security update" +msgstr[1] "%1 security updates" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "No packages to update" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Restart is required" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "The system needs to be restarted for the updates to take effect." \ No newline at end of file diff --git a/po/en_GB/plasma-discover.po b/po/en_GB/plasma-discover.po new file mode 100644 index 0000000..f983e6c --- /dev/null +++ b/po/en_GB/plasma-discover.po @@ -0,0 +1,645 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Steve Allewell , 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-27 20:40+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Could not find category '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Could not open %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Directly open the specified application by its package name." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Open with a program that can deal with the given mimetype." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Display a list of entries with a category." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "Open Discover in a said mode. Modes correspond to the toolbar buttons." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "List all the available modes." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Compact Mode (auto/compact/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Local package file to install" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "List all the available backends." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Supports appstream: url scheme" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "An application explorer" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma Development Team" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Available backends:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Available modes:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Addons" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Apply Changes" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Discard" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "More..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Add a new %1 repository" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Add" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancel" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 rating" +msgstr[1] "%1 ratings" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "No ratings yet" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Sources" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "What's New" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Reviews" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Show all %1 reviews..." +msgstr[1] "Show all %1 reviews..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Write a review!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Be the first to write a review!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Install this app to write a review!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Install this app and be the first to write a review!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Category:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, released on %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Size:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Source:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licence:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Homepage:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "User Guide:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donate:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Report a Problem:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sort: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Name" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Rating" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Size" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Release Date" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Sorry, nothing found..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Still looking..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Featured" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Running as root is discouraged and unnecessary." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Search" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installed" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Checking for updates..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "No Updates" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Update (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Settings" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Sorry..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Could not close the application, there are tasks that need to be done." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Unable to find resource: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Proceed" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Install" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remove" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Loading..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resources for '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensions..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tasks (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tasks" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Tell us about this review!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 out of %2 people found this review useful" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "unknown reviewer" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 by %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comment by %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Useful? Yes/No" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Useful? Yes/No" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Useful? Yes/No" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Reviewing '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Rating:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Submission name: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Title:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Review:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Enter a rating" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Write a title" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Keep writing..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Too long!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Submit review" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Review..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Search..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Search in '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Default)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Make default" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Add Source..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Failed to increase '%1' preference" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Failed to decrease '%1' preference" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Delete the origin" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Failed to remove the source '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Missing Backends" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Updates" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Update Selected" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Update All" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "updates selected" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "updates not selected" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "More Information..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Fetching..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Looking for updates" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Updating..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Fetching updates" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Updates" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "The system is up to date" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "No updates" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "No updates are available" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Should check for updates" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "It is unknown when the last check for updates was" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copy link address" \ No newline at end of file diff --git a/po/en_GB/plasma_applet_org.kde.discovernotifier.po b/po/en_GB/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..150d34d --- /dev/null +++ b/po/en_GB/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Steve Allewell , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-08-15 12:48+0100\n" +"Last-Translator: Steve Allewell \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "View Updates" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Launches Discover to update the software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Open Software Centre..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "See Updates..." \ No newline at end of file diff --git a/po/es/libdiscover.po b/po/es/libdiscover.po new file mode 100644 index 0000000..7b45370 --- /dev/null +++ b/po/es/libdiscover.po @@ -0,0 +1,1586 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Kira J. Fernandez , 2010, 2011, 2012. +# Eloy Cuadra , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Rafael Belmonte , 2013. +# Rocio Gallego , 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-11-26 01:53+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicaciones" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accesorios" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accesibilidad" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Herramientas de desarrollo" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuración" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Diseño de interfaces gráficas" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localización" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Análisis de rendimiento" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Desarrollo web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educación" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ciencia e ingeniería" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomía" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biología" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Química" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informática y robótica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electrónica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingeniería" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografía" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geología" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemáticas" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Física" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Juegos" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Juegos de tablero" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Juegos de cartas" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Rompecabezas" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Juegos de rol" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulación" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estrategia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Deportes" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acción" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Gráficos" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dibujo" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pintura y edición" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografía" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Autoedición" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Escáner y OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visores" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Charla" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Intercambio de datos" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correo" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navegadores web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editores de sonido y de vídeo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Reproductores de sonido" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Reproductores de vídeo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD y DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Preferencias del sistema" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Elementos gráficos de Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipos de letra" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoría ficticia" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "ficticio" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complementos ficticios" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "ficticio 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "ficticio con cosas" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "ficticio 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "ficticio con bastantes más cosas" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "ficticio 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "ficticio 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Paquete local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de «appstream» mal formada «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Desconocido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Obteniendo información sobre tamaño" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Tamaño desconocido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 para descargar, %2 en disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 en disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Añadir Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "No se ha podido añadir la fuente %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI del repositorio Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Aceptar EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"El %1 remoto necesita que acepte su licencia:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Motor %1 no válido. Contacte con su distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Complementos de aplicaciones" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI de KNewStuff incorrecta: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Información de inicio de sesión para %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Por favor, asegúrese de que Appstream está bien configurado en su sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Sin memoria" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "No hay ninguna conexión de red disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operación no permitida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Error interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Error de GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID no válido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paquete no instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paquete no encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "El paquete ya está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Ha fallado la descarga del paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "No se ha encontrado el grupo del paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Lista de grupos de paquetes no válida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Ha fallado la resolución de dependencias" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro no válido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Ha fallado la creación de un hilo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Error en la transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transacción cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "No hay caché disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "No se ha podido encontrar el repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "No se ha podido eliminar el paquete del sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "El demonio de PackageKit ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Error de inicialización" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "No se ha podido finalizar la transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "El análisis de la configuración ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "No se puede cancelar la transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "No se puede realizar el bloqueo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "No hay ningún paquete para actualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "No se puede escribir la configuración del repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "La instalación local ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Se ha encontrado una firma GPG incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "No se ha encontrado la firma GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "No se puede instalar el paquete de código fuente" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Error de configuración del repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "No hay acuerdo de licencia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Se han encontrado conflictos en el archivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Se ha encontrado un conflicto en el paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "El repositorio no está disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Archivo de paquete no válido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "La instalación de paquetes está bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Se ha encontrado un paquete dañado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Todos los paquetes estaban ya instalados" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Archivo no encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "No hay más servidores espejo disponibles" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "No hay datos de actualización de la distribución" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitectura incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "No queda espacio en el dispositivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Es necesario cambiar el medio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "No tiene autorización para ejecutar esta operación" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Actualización no encontrada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "No se puede instalar desde un repositorio que no está firmado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "No se puede actualizar desde un repositorio que no está firmado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "No se puede obtener la lista de archivos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "No ha sido posible obtener los datos necesarios" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "No se puede desactivar el repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Se ha detectado una descarga restringida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "La configuración del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "La compilación del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "La instalación del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "La eliminación del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" +"La actualización ha fallado debido a un proceso que estaba en ejecución" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "La base de datos de paquetes ha cambiado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "No se admite el tipo proporcionado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "La raíz de instalación no es válida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "No se han podido obtener las fuentes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Prioridad cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacción no finalizada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Bloqueo necesario" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Error desconocido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» ha cambiado y sugiere que se reinicie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Un cambio en «%1» sugiere que se reinicie su sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» se ha actualizado por motivos de seguridad, se recomienda reiniciar la " +"sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» se ha actualizado por motivos de seguridad, se recomienda reiniciar el " +"sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" +"Debido al cambio realizado por «%1», se recomienda reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Deberá reiniciar la aplicación." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Deberá reiniciar la sesión" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Deberá reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Por seguridad, deberá reiniciar la sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Por seguridad, deberá reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Esperando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Refrescando la caché..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configuración..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Procesando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Eliminar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Descargando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instalando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Actualizando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Limpiando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolviendo dependencias..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Comprobando firmas..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Comprobando confirmación..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Confirmando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Terminado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Cancelado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Esperando al bloqueo..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Esperando autorización..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Copiando archivos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Estado desconocido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Esperando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Configurando la transacción..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "La transacción está en proceso en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "La transacción está eliminando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "La transacción está descargando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "La transacción está instalando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "La transacción está actualizando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "La transacción está limpiando en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"La transacción está resolviendo las dependencias de los paquetes que va a " +"instalar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "La transacción está comprobando las firmas de los paquetes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"La transacción está comprobando la confirmación de este conjunto de " +"paquetes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" +"La transacción está confirmando su conjunto de paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transacción ha finalizado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "La transacción se ha cancelado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "La transacción está esperando el bloqueo en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Esperando a que el usuario autorice la transacción..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "La transacción está copiando archivos en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Se está refrescando la caché del repositorio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Estado desconocido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "En pruebas" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizaciones sin conexión" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Ha fallado la actualización de %1 paquetes\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Se han actualizado con éxito %1 paquetes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Actualización disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nueva versión no estable: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nueva versión: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versión actual:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Desactualiza:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nueva versión:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Estado de actualización:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reiniciar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Vendedor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (más %1 dependencia)" +msgstr[1] "%2 (más %1 dependencias)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL del repositorio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paquetes a eliminar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Los siguientes paquetes serán eliminados por la actualización:\n" +"
    • %1
    \n" +"para poder instalar:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Por favor, reinicie el equipo para completar la instalación" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Se ha solicitado un cambio de medio de tipo «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"El paquete %1 y su proveedor %2 necesitan que acepte su licencia:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta la firma de %1 en %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"¿Confía en la siguiente clave?\n" +"\n" +"URL: %1\n" +"Usuario: %2\n" +"Clave: %3\n" +"Huella digital: %4\n" +"Marca temporal: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar eliminación del paquete" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Esta acción también eliminará el siguiente paquete:\n" +"%2" +msgstr[1] "" +"Esta acción también eliminará los siguientes paquetes:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Esta aplicación de snap necesita desactivar las medidas de confinamiento por " +"seguridad." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Listar todos los motores que vamos a querer que se carguen, separados por " +"comas «,»." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Roto" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponible" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Actualizable" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Lanzar" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprobar actualizaciones" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Actualizar" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Empezando" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Esperando" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Descargando" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalando" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Eliminando" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Cambiar complementos" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Hecho" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fallido" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelado" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizaciones de aplicaciones" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizaciones del sistema" \ No newline at end of file diff --git a/po/es/plasma-discover-notifier.po b/po/es/plasma-discover-notifier.po new file mode 100644 index 0000000..11319cf --- /dev/null +++ b/po/es/plasma-discover-notifier.po @@ -0,0 +1,98 @@ +# Spanish translations for muon-notifier.po package. +# Copyright (C) 2015 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Automatically generated, 2015. +# Eloy Cuadra , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-15 10:39+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Actualizar" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Hay actualizaciones de seguridad disponibles" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Hay actualizaciones disponibles" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema actualizado" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Necesita reiniciar el equipo" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquete a actualizar" +msgstr[1] "%1 paquetes a actualizar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "de los que 1 es una actualización de seguridad" +msgstr[1] "de los que %1 son actualizaciones de seguridad" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquete a actualizar" +msgstr[1] "%1 paquetes a actualizar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 actualización de seguridad" +msgstr[1] "%1 actualizaciones de seguridad" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "No hay que actualizar ningún paquete" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Se necesita reiniciar" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Es necesario reiniciar el sistema para que las actualizaciones tengan efecto." \ No newline at end of file diff --git a/po/es/plasma-discover.po b/po/es/plasma-discover.po new file mode 100644 index 0000000..4f65405 --- /dev/null +++ b/po/es/plasma-discover.po @@ -0,0 +1,652 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Eloy Cuadra , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Rafael Belmonte , 2013. +# Rocio Gallego , 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-24 16:57+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "No se puede encontrar la categoría «%1»" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"No se puede interactuar con recursos flatpak sin el motor flatpak %1. Por " +"favor, instálelo antes." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "No se puede abrir %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" +"Abrir directamente la aplicación especificada por su nombre de paquete." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Abrir con un programa que pueda manejar el tipo MIME indicado." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostrar una lista de entradas con una categoría." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Abrir Discover en uno de los modos mencionados. Los modos se corresponden " +"con los botones de la barra de herramientas." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Listar todos los modos disponibles." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo compacto (automático/compacto/completo)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Archivo de paquete local a instalar" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Listar todos los motores disponibles." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Permite el esquema de URL «appstream:»" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador de aplicaciones" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 El equipo de desarrollo de Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Motores disponibles:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponibles:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Complementos" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar cambios" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Descartar" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Más..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Añadir un nuevo repositorio %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Añadir" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 evaluación" +msgstr[1] "%1 evaluaciones" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Todavía sin evaluaciones" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fuentes" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Novedades" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Comentarios" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostrar %1 comentario..." +msgstr[1] "Mostrar los %1 comentarios..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Escribir un comentario" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Sea el primero en escribir un comentario" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instale esta aplicación para escribir un comentario" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Instale esta aplicación y sea el primero en escribir un comentario" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoría:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versión:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicado el %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Tamaño:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Fuente:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licencia:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Página web:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guía del usuario:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donar:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Notificar problemas:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Ordenar: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nombre" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Puntuación" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Tamaño" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Fecha de publicación" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Lo sentimos: no se ha encontrado nada." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Seguimos buscando..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Destacado" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "La ejecución como root es desaconsejable e innecesaria." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Buscar" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Comprobando actualizaciones..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "No hay actualizaciones" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualizar (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Preferencias" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Lo sentimos..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"No se puede cerrar la aplicación: existen tareas que deben terminar antes." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "No se ha podido encontrar el recurso: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Continuar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Eliminar" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Cargando..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos para «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensiones..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tareas (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tareas" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Diga algo sobre este comentario" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 de %2 personas han encontrado útil este comentario" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconocido" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comentado por %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"¿Útil? Sí/No" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "¿Útil? Sí/No" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "¿Útil? Sí/No" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Obteniendo «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Puntuación:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nombre del envío: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Comentario:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Introduzca una puntuación" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Escriba un título" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Siga escribiendo..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Demasiado largo." + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Enviar comentario" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Comentar..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Buscar..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Buscar en «%1»..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (por omisión)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Hacer por omisión" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Añadir fuente..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "No se ha podido aumentar la preferencia «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "No se ha podido disminuir la preferencia «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Borrar el origen" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "No se ha podido eliminar la fuente «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Motor ausente" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualizaciones" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Actualización seleccionada" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Actualizar todo" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "actualizaciones seleccionadas" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "actualizaciones no seleccionadas" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Más información..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Obteniendo..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Buscando actualizaciones..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Actualizando..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Obteniendo actualizaciones" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizaciones" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "El sistema está actualizado" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "No hay actualizaciones" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "No hay actualizaciones disponibles" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Se deben comprobar las actualizaciones" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Se desconoce cuándo fue la última comprobación de actualizaciones" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copiar dirección del enlace" \ No newline at end of file diff --git a/po/es/plasma_applet_org.kde.discovernotifier.po b/po/es/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..428ed79 --- /dev/null +++ b/po/es/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Spanish translations for plasma_applet_org.kde.muonnotifier.po package. +# Copyright (C) 2014 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Automatically generated, 2014. +# Eloy Cuadra , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-25 22:49+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Ver actualizaciones" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Lanza Discover para actualizar el software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Abrir el centro de software..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Ver actualizaciones..." \ No newline at end of file diff --git a/po/et/libdiscover.po b/po/et/libdiscover.po new file mode 100644 index 0000000..6ce7cca --- /dev/null +++ b/po/et/libdiscover.po @@ -0,0 +1,1613 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2010, 2011, 2012, 2013, 2014, 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2016-09-09 13:21+0300\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Rakendused" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tarvikud" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Hõlbustus" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Arendaja tööriistad" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Silumine" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Graafilise liidese kujundus" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Arenduskeskkonnad" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokaliseerimine" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profileerimine" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Veebiarendus" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Haridus" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Reaal- ja inseneriteadused" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronoomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Bioloogia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Keemia" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Arvutiteadus ja robootika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektroonika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inseneriteadus" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geograafia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geoloogia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemaatika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Füüsika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Mängud" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkaadmängud" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Lauamängud" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kaardimängud" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Pusled" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollimängud" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatsioonid" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Rakendused" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simulatsioonid" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Joonistamine" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Joonistamine ja pilditöötlus" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotograafia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Kirjastamine" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skannimine ja OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Näitajad" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Vestlus" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Failijagamine" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-post" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Veebibrauserid" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimeedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontoritöö" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Süsteem ja seadistused" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma lisad" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Desktop Widgets" +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma töölauavidinad" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fondid" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package category" +#| msgid "Category:" +msgctxt "Category" +msgid "Dummy Category" +msgstr "Kategooria:" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "dummy lisad" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy kraamiga" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "dummy 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy hulga kraamiga" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Tundmatu" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Tundmatu" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 alla laadida, %2 kettal" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 kettal" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "EULA-ga nõustumine" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Pakett %1 ja selle tootja %2 nõuavad oma litsentsiga nõustumist:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Addons" +msgid "Plasma Addons" +msgstr "Plasma lisad" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Application Addons" +msgid "Application Addons" +msgstr "Rakenduste lisad" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 sisselogimisteave" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Palun kontrolli, kas Appstream on ikka sinu süsteemis korrektselt " +"häälestatud." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Mälu napib" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Võrguühendus puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Toiming ei ole toetatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Sisemine tõrge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Paketi ID on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pakett pole paigaldatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paketti ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Pakett on juba paigaldatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Paketi allalaadimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Paketigruppi ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Paketigruppide loend on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Sõltuvuste lahendamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filter on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Lõime loomine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Tehing nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Tehing katkestati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Puhver puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Hoidlat ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Süsteemset paketti ei saa eemaldada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKiti deemonit tabas krahh" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Initsialiseerimistõrge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Tehingu lõpetamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Seadistuse parsimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Tehingut ei saa katkestada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Lukustamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Pole ühtegi paketti uuendada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Hoidla seadistuse kirjutamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Kohalik paigaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Leiti halb GPG allkiri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Ühtegi GPG allkirja ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Lähtepaketti ei saa paigaldada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Hoidla seadistuse tõrge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Litsentsileping puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Leiti failikonflikte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Leiti paketikonflikt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Hoidlat pole saadaval" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Vigane paketifail" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Paketi paigaldamine on blokeeritud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Leiti riknenud pakett" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Kõik paketid on juba paigaldatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Faili ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Rohkem peegleid ei ole" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Distributsiooni uuendamise andmed puuduvad" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Sobimatu arhitektuur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Seadmes pole enam vaba ruumi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Vajalik on andmekandja vahetamine" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Sul pole õigust seda operatsiooni käivitada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Uuendust ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Allkirjastamata hoidlast ei saa paigaldada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Allkirjastamata hoidlast ei saa uuendada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Faililoendi hankimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Nõuete hankimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Hoidlat ei saa keelata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Tuvastati piiratud allalaadimine" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketi konfigureerimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Paketi ehitamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Paketi paigaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketi eemaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Uuendamine nurjus töötava protsessi tõttu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pakettide andmebaas muutus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Pakutav tüüp ei ole toetatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Paigaldamise juur on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Allikate hankimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Prioriteet katkestati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Lõpetamata tehing" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Nõutav on lukustamine" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Tundmatu tõrge %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "Paketti \"%1\" muudeti, mille järel on mõttekas taaskäivitus teha." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Paketi \"%1\" muutmise järel on mõttekas seanss taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"Paketti \"%1\" uuendati turbekaalutlustel, soovitatav on seansi " +"taaskäivitamine." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"Paketti \"%1\" uuendati turbekaalutlustel, soovitatav on süsteemi " +"taaskäivitamine." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Paketi \"%1\" muutmise järel on mõttekas süsteem taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Rakendus tuleb taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Seanss tuleb taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Süsteem tuleb taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Turbe huvides tuleb seanss taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Turbe huvides tuleb süsteem taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Ootamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Puhvri värskendamine ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Valmistumine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Töötlemine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Eemaldamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Allalaadimine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Paigaldamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Uuendamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Puhastamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Sõltuvuste lahendamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Allkirjade kontrollimine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Sissekandmise test..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Sissekandmine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Lõpetatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Katkestatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Oodatakse lukustamist..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Autentimise ootamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Failide kopeerimine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Tundmatu olek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Me ootame midagi." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Tehingu loomine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Tehing praegu käib..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Tehing eemaldab praegu pakette..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Tehing laadib praegu pakette alla..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Tehingud paigaldavad praegu pakette ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Tehing uuendab praegu pakette..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Tehing praegu puhastab..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "Tehing lahendab praegu paigaldama hakatavate pakettide sõltuvusi..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Tehing kontrollib praegu pakettide allkirju..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Tehing testib praegu selle paketikogumi sissekandmist..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Tehing kannab praegu paketikogumit sisse..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Tehing on lõpetatud!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Tehing katkestati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Tehing ootab praegu lukustamist..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Oodatakse, et kasutaja autendiks tehingu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Tehing kopeerib praegu faile..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Praegu värskendatakse hoidla puhvrit ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Tundmatu olek %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabiilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ebastabiilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testimine" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Rakenduste uuendused" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"%1 allalaadimine nurjus\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Uuendatav" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Versioon %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Lock at Current Version" +msgid "Current Version:" +msgstr "Lukusta aktiivne versioon" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Igandab:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Versioon %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Uuendamisolek:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Taaskäivitus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Pakkuja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Hoidla kirjeldus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "Package failed to remove" +msgid "Packages to remove" +msgstr "Paketi eemaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Nõutav on andmekandja tüübiga '%1'.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Pakett %1 ja selle tootja %2 nõuavad oma litsentsiga nõustumist:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "Unable to download the following packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Järgmiste pakettide allalaadimine nurjus:" +msgstr[1] "Järgmiste pakettide allalaadimine nurjus:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, fuzzy, kde-format +#| msgid "" +#| "List all the backends we'll want to have loaded, separated by coma ','." +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Kõigi saadaolevate taustaprogrammide loetlemine, mida me soovime laadida, " +"eraldatuna komadega." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Katki" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Saadaval" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Paigaldatud" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Uuendatav" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Otsi uuendusi" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Uuendamised" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Alustamine" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ootel" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Allalaadimine" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Paigaldamine" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Eemaldamine" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Lisade muutmine" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Valmis" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Katkestatud" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Rakenduste uuendused" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Süsteemsed uuendused" \ No newline at end of file diff --git a/po/et/plasma-discover-notifier.po b/po/et/plasma-discover-notifier.po new file mode 100644 index 0000000..6a5c004 --- /dev/null +++ b/po/et/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2016-01-10 23:50+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Saadaval on turvauuendused" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Saadaval on uuendused" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Süsteem on täiesti ajakohane" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 uuendatav pakett" +msgstr[1] "%1 uuendatavat paketti" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "millest 1 on turbeuuendus" +msgstr[1] "millest %1 on turbeuuendused" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 uuendatav pakett" +msgstr[1] "%1 uuendatavat paketti" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 turbeuuendus" +msgstr[1] "%1 turbeuuendust" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Pole ühtegi paketti uuendada" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/et/plasma-discover.po b/po/et/plasma-discover.po new file mode 100644 index 0000000..26f5599 --- /dev/null +++ b/po/et/plasma-discover.po @@ -0,0 +1,685 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2012, 2013, 2014, 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2016-12-09 00:40+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Määratud rakenduse otsene avamine paketi nime järgi." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Avamine programmiga, mis suudab käidelda määratud MIME tüüpi." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Kirjete loendi kuvamine kategooriatega." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Avastusretke avamine määratud režiimis. Režiimid vastavad tööriistariba " +"nuppudele." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Kõigi saadaolevate režiimide loetlemine." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompaktne režiim (automaatne/kompaktne/täielik)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, fuzzy, kde-format +#| msgid "List all the available modes and output them on stdout." +msgid "List all the available backends." +msgstr "" +"Kõigi saadaolevate režiimide loetlemine ja näitamine standardväljundis." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Appstreami URL-i skeemi toetus" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Avastusretk" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Avastusretk rakenduste seas" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2016: Plasma arendusmeeskond" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Saadaolevad taustaprogrammid:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Saadaolevad režiimid:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Lisad" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Rakenda muudatused" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Unusta" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Rohkem..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Lisad" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Loobu" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Hinnang" +msgstr[1] "Hinnang" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Allikad" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Arvustused" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Näita kommentaare (%1)..." +msgstr[1] "Näita kommentaare (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Saada" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, fuzzy, kde-format +#| msgid "Categories" +msgid "Category:" +msgstr "Kategooriad" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Versioon: %1" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Suurus: %1" + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Allikad" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "License: %1" +msgid "License:" +msgstr "Litsents: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Kodulehekülg: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Sort by " +msgid "Sort: %1" +msgstr "Sortimise alus " + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nimi" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Hinnang" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Suurus: %1" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Installing..." +msgid "Still looking..." +msgstr "Paigaldamine..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Käivitamine administraatorina (root) on äärmiselt ebasoovitatav ja " +"tarbetu." + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Otsi..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Paigaldatud" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Should check for updates" +msgid "Checking for updates..." +msgstr "Tuleks kontrollida uuendusi" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Uuendusi pole" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Uuendused (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Seadistused" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Lühikokkuvõte" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Rakendust ei saanud sulgeda, enne peavad tööd tehtud olema." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ressurssi ei leitud: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Paigalda" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Eemalda" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Laadimine..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "\"%1\" ressursid" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Laiendid..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Ülesanded (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Ülesanded" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Hinda seda arvustust!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2 inimesest %1 pidas(id) seda arvustust kasulikuks" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1, autor %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Kommentaarid" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Kas see oli kasulik? Jah/Ei" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Kas see oli kasulik? Jah/Ei" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Kas see oli kasulik? Jah/Ei" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "\"%1\" arvustus" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Hinnang:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Arvusta" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Uuendamine..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Saada" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Arvusta" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Otsi..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Otsi kategoorias \"%1\"..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Lisa allikas" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Algupära kustutamine" + +#: discover/qml/SourcesPage.qml:205 +#, fuzzy, kde-format +#| msgid "Unable to find resource: %1" +msgid "Failed to remove the source '%1'" +msgstr "Ressurssi ei leitud: %1" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Uuendused" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Uuenda valitud" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Uuenda kõik" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "uuendust valitud" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "uuendust valimata" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Uuendamine..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Should check for updates" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Tuleks kontrollida uuendusi" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Uuendamine..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Uuenduste tõmbamine" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Uuendused" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Süsteem on täiesti värske" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Uuendusi pole" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Uuendusi pole" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Tuleks kontrollida uuendusi" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Pole teada, millal viimati uuenduste olemasolu kontrolliti" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/et/plasma_applet_org.kde.discovernotifier.po b/po/et/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..8305e11 --- /dev/null +++ b/po/et/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2016-01-11 11:21+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Vaata uuendusi" + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Tarkvara käivitamine uuendamiseks" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Vaata uuendusi" \ No newline at end of file diff --git a/po/eu/libdiscover.po b/po/eu/libdiscover.po new file mode 100644 index 0000000..e1e3a1e --- /dev/null +++ b/po/eu/libdiscover.po @@ -0,0 +1,1582 @@ +# Translation of libdiscover.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, Free Software Foundation. +# This file is distributed under the same license as kde-workspace package. +# KDE Euskaratzeko proiektuaren arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-05 09:47+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplikazioak" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Osagarriak" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Irisgarritasuna" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Garatzaile-tresnak" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Araztea" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Interfaze grafikoak diseinatzea" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE-ak" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Toki ezarpen" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilatzea" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web garapena" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Hezkuntza" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Zientzia eta Ingeniaritza" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kimika" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Ordenagailu-zientzia eta Robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingeniaritza" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jokoak" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "'Arcade' jolas-makinak" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Mahai-jokoak" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Karta-jokoak" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Buruhaustekoak" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Roletara jokatzea" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatzea" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estrategia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Kirolak" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Ekintza" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatzaileak" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikoak" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Marraztea" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Margotzea eta editatzea" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Argazkigintza" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Argitaratzea" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Eskaneatzea eta OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Erakusleak" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Berriketa" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fitxategi-partekatzea" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Posta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Web-arakatzaileak" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Audio eta bideo editoreak" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Audio jotzaileak" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Bideo jotzaileak" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD eta DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Bulegotika" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistemaren ezarpenak" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasmaren gehigarriak" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasmaren trepetak" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Letra-tipoak" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Gezurrezkoa kategoria" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "gezurrezkoa" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "gezurrezko gehigarriak" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "gezurrezkoa 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "gezurrezkoa gaiekin" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "gezurrezkoa 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "gezurrezkoa gai dezenterekin" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "gezurrezkoa 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "gezurrezkoa 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Bertako sorta" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Gaizki eratutako 'appstream' url '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Ezezaguna" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Berreskuratu neurriari buruzko informazioa" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Neurri ezezaguna" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 jaitsi behar, %2 diskoan" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 diskoan" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Gehitu Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ezin izan da iturburua gehitu: %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak gordetegiaren URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Onartu AELK (Azken Erabiltzailearen Lizentzia-Kontratua)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Urruneko %1(e)k beraien lizentzia onartzea eskatzen du:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Baliogabeko %1 bizkarraldekoa, jarri zure banatzailearekin harremanean." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasmaren gehigarriak" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Aplikazioen gehigarriak" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Okerreko KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Erabili" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Saioa hasteko informazioa honentzako: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Ziurtatu 'Appstream' dagokion gisan ezarrita dagoela zure sisteman" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Memoria beteta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Ez dago sareko-konexio eskuragarririk" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Eragiketa ez dago onartuta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Barneko errorea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG hutsegitea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Pakete-ID baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paketea ez dago instalatuta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paketea ez da aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paketea instalatuta dago" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Paketea jaisteak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Pakete-taldea ez da aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakete-talde zerrenda baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Mendekotasun ebazpenak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Iragazki baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Huts egin du hari bat sortzean" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transakzio-hutsegitea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakzioa bertan behera utzia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Ez dago cache erabilgarririk" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Ezin aurkitu gordetegia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Ezin kendu sistemako paketea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit daimona kraskatu egin da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Hasieratze-hutsegitea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Huts egin du transakzioa amaitzea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Konfigurazioaren azterketa sintaktikoak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Ezin transakzioa bertan behera utzi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Ezin da blokeoa eskuratu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Ez dago eguneratu beharreko paketerik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ezin idatzi gordetegi konfigurazioa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Instalazio lokalak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "GPG sinadura okerra aurkitu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Ez da GPG sinadurarik aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Ezin instalatu iturburu paketea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Gordetegi konfigurazio errorea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Ez dago lizentzia akordiorik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Fitxategi-gatazkak aurkitu dira" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Pakete-gatazka aurkitu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Gordetegia ez dago erabilgarri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Pakete-fitxategi baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Pakete-instalatzea blokeatuta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Hondatutako paketea aurkitu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Pakete guztiak instalatuta daude" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Ez da fitxategia aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Ez dago ispilu erabilgarri gehiago" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ez dago banaketa bertsio-berritzeko daturik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arkitektura bateraezina" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Ez dago gailuan toki aske gehiago" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Euskarri aldaketa bat behar da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Ez duzu eragiketa hau exekutatzeko baimenik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Eguneratzea ez da aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Ezin instalatu sinatu gabeko gordetegitik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Ezin eguneratu sinatu gabeko gordetegitik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Ezin lortu fitxategi zerrenda" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Ezin lortu eskakizunak" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Ezin desgaitu gordetegia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Murriztutako jaitsiera bat detektatu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketea konfiguratzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Paketea eraikitzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Paketea instalatzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketea kentzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Eguneratzea huts egin du martxan dagoen prozesu baten eraginez" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pakete-datubasea aldatu egin da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Hornitutako mota ez da onartzen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Instalazioaren erroa baliogabea da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Ezin iturburuak ekarri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Bertan behera utzitako lehentasuna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Amaitu gabeko transakzioa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Blokeoa behar da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Errore ezezaguna %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' aldatu da eta berrabiatua izatea iradokitzen du." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "'%1'-ren aldaketa batek iradokitzen du zure saioa berrabiatzea." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' eguneratu da segurtasun arrazoiengatik, saioa berrabiatzea gomendatzen " +"da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' eguneratu da segurtasun arrazoiengatik, sistema berrabiatzea " +"gomendatzen da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "'%1'(r)en aldaketa batek iradokitzen du zure sistema berrabiaraztea." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplikazioa berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Saioa berrabiarazi beharko da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Sistema berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Segurtasunagatik, saioa berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Segurtasunagatik, sistema berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Itxoiten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Cachea freskatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Konfiguratu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Prozesatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Kendu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Jaisten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instalatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Eguneratzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Garbitzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Mendekotasun ebazten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Sinadurak egiaztatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Probatu balidatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Balidatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Amaituta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Bertan behera utzita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Blokeoaren zain..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Baimenaren zain..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Fitxategiak kopiatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Egoera ezezaguna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Zerbaiten zain gaude." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Transakzioa konfiguratzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakzioa une honetan lanean ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakzioa une honetan paketeak kentzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakzioa une honetan paketeak jaisten ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakzioa une honetan paketeak instalatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakzioa une honetan paketeak eguneratzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakzioa une honetan garbiketa egiten ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transakzioa une honetan instalatuko dituen paketeen mendekotasunak ebazten " +"ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakzioa une honetan paketeen sinadurak egiaztatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Transakzioa une honetan pakete multzo honen balidatzea probatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakzioa une honetan bere pakete multzoa balidatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakzioa amaitu da!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakzioa bertan behera utzi da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakzioa une honetan blokeoaren zain dago..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Erabiltzaileak transakzioa baimenduko duen zain..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakzioa une honetan fitxategiak kopiatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Une honetan gordetegiaren cachea freskatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Egoera ezezaguna %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Egonkorra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ezegonkorra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Probak" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Lerroz kanpoko eguneratzeak" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"%1 pakete eguneratzea huts egin du\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Ongi eguneratu dira %1 pakete" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Bertsio-berritzea erabilgarri" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Bertsio ezegonkor berria: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Bertsio berria: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Uneko bertsioa:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Zaharkituak:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Bertsio berria:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Eguneratze egoera:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Berrabiarazi:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Saltzailea:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (gehi %1 mendekotasuna)" +msgstr[1] "%2 (gehi %1 mendekotasunak)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Gordetegi URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Kendu beharreko paketeak" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Ondoko paketeak kenduko dira eguneratzean:\n" +"
    • %1
    \n" +"beste hauek instalatu ahal izateko:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Berrabiarazi ordenagailua instalatzea amaitzeko" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"'%1' motako euskarri aldaketa bat eskatzen da.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"%1 paketeak eta bere %2 saltzaileak eskatzen dute zuk beraien lizentzia " +"onartzea:\n" +"%3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Sinadura falta da %1-rentzako %2-n" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Fidatzen zara ondoko gakoarekin?\n" +"\n" +"Url: %1\n" +"Erabiltzailea: %2\n" +"Gakoa: %3\n" +"Hatz-marka: %4\n" +"Ordu-zigilua: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Baieztatu pakete kentzea" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Ekintza honek ondoko paketea ere kenduko du:\n" +"%2" +msgstr[1] "" +"Ekintza honek ondoko paketeak ere kenduko ditu:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"«snap» aplikazio honek segurtasun barneratze neurriak desgaitzea behar du." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Zerrendatu zamatuta izan nahiko ditugun bizkarraldeko guztiak, koma bidez " +"',' banatuta." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Hautsita" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Erabilgarri" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalatuta" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Bertsio-berrigarria" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Abiarazi" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Egiaztatu eguneratzeak dauden" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Eguneratu" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Hasten" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Itxoiten" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Jaisten" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalatzen" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Kentzen" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Gehigarriak aldatzen" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Eginda" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Huts egin du" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Bertan behera utzita" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aplikazioen eguneratzeak" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistemaren eguneratzeak" \ No newline at end of file diff --git a/po/eu/plasma-discover-notifier.po b/po/eu/plasma-discover-notifier.po new file mode 100644 index 0000000..fa6ed44 --- /dev/null +++ b/po/eu/plasma-discover-notifier.po @@ -0,0 +1,98 @@ +# Translation of plasma-discover-notifier.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, The Free Software Foundation. +# This file is distributed under the same license as the kde-workspace package. +# KDE Euskaratzeko proiektuaren arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-15 21:43+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Eguneratzea" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Segurtasun eguneratzeak erabilgarri" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Eguneratzeak erabilgarri" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema eguneratuta dago" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Ordenagailua berrabiatu beharra dago" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "Eguneratzeko pakete 1" +msgstr[1] "Eguneratzeko %1 pakete" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "horietako 1 segurtasun eguneratzea da" +msgstr[1] "horietako %1 segurtasun eguneratzeak dira" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "Eguneratu beharreko pakete 1" +msgstr[1] "Eguneratu beharreko %1 pakete" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "Segurtasun eguneratze 1" +msgstr[1] "%1 segurtasun eguneratze" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Ez dago eguneratu beharreko paketerik" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Berrabiatu beharra dago" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Sistemak berrabiatu beharra du eguneratzeak indarrean jartzeko." \ No newline at end of file diff --git a/po/eu/plasma-discover.po b/po/eu/plasma-discover.po new file mode 100644 index 0000000..df6c8d7 --- /dev/null +++ b/po/eu/plasma-discover.po @@ -0,0 +1,654 @@ +# Translation of plasma-discover.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, The Free Software Foundation. +# This file is distributed under the same license as the kde-workspace package. +# KDE Euskaratzeko proiektuaren arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-07-15 21:38+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ez da aurkitu kategoria: '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Ezin da «flatpak» baliabideekin elkarreraginean aritu %1 «flatpak» " +"bizkarraldekorik gabe. Aurrena hura instalatu." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ezin ireki %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Zuzenean ireki adierazitako aplikazioa bere pakete-izenaren bidez." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Ireki emandako mime-motarekin lan egin dezakeen programa batekin." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Bistaratu kategoria bat duen sarrera-zerrenda bat." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Ireki Discover esandako moduan. Moduak tresna-barrako botoiei dagozkie." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Zerrendatu modu erabilgarri guztiak." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modu trinkoa (automatikoa/trinkoa/osoa)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Instalatu beharreko fitxategi lokala" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Zerrendatu bizkarraldeko erabilgarri guztiak." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "'appstream' onartzen du: url eskema" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Aplikazioen esploratzaile bat" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma garapen taldea" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Bizkarraldeko erabilgarriak:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modu erabilgarriak:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Gehigarriak" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Ezarri aldaketak" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Baztertu" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Gehiago..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Gehitu %1 gordetegi berri bat" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Gehitu" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Utzi" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 balorazioa" +msgstr[1] "%1 balorazioa" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Oraindik baloraziorik ez" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Iturburuak" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Zer berri" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Iritziak" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Erakutsi iritzi %1..." +msgstr[1] "Erakutsi %1 iritziak, guztiak..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Idatzi iritzi bat!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Izan iritzi bat idazten lehena!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instalatu aplikazio hau iritzi bat idazteko!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Instalatu aplikazio hau eta izan iritzi bat idazten lehena!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Bertsioa:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, %2-ean kaleratua" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Neurria:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Iturburua:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lizentzia:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Etxeko-orria:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Erabiltzailearen gida:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Dohaintza egin:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Eman arazo baten berri:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sailkatu: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Izena" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Balorazioa" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Neurria" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Kaleratze data" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Ez da ezer aurkitu..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Oraindik bilatzen..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Aipagarria" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"root gisa exekutatzea ez da beharrezkoa ezta gomendagarria ere." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Bilatu" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalatuta" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Eguneratzeak egiaztatzen..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Eguneratzerik ez" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Eguneratu (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ezarpenak" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Barkatu..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Ezin da aplikazioa itxi, burutu beharreko atazak daude." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ezin da aurkitu baliabidea: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Jarraitu" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalatu" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Ezabatu" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Zamatzen..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Honetarako baliabideak: '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Hedapenak..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Atazak (%%1)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Atazak" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, fuzzy, kde-format +#| msgctxt "TransactioName - TransactionStatus" +#| msgid "%1 - %2: %3" +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2: %3" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Zer diozu iritzi honi buruz?" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2-(e)tik %1-ri izan zaie baliagarri iritzi hau" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "Iritzi emaile ezezaguna" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 egilea %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Iruzkina %1(e)k" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Baliagarria? Bai/Ez" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Baliagarria? Bai/Ez" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Baliagarria? Bai/Ez" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Honi buruz iritzia ematen: '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Balorazioa:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Bidalketaren izena: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Izenburua:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Iritzia:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Sartu balorazio bat" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Idatzi izenburu bat" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Jarraitu idazten..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Luzeegia!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Bidali iritzia" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Iritzia..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Bilatu..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Bilatu hemen: '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (lehenetsia)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Lehenetsi" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Gehitu iturburua..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "'%1' hobespena handiagotzea huts egin du" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "'%1' hobespena txikiagotzea huts egin du" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Ezabatu jatorria" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Huts egin du iturburua kentzea: %1" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Falta diren bizkarraldekoak" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Eguneratzeak" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Eguneratu hautatutakoak" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Eguneratu denak" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "eguneratzeak hautatuta" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "eguneratzeak ez dira hautatu" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Informazio gehiago..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Ekartzen..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Eguneratze bila" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Eguneratzen..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Eguneratzeak eskuratzen" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Eguneratzeak" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Sistema eguneratuta dago" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Eguneratzerik ez" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Ez dago eguneratze erabilgarririk" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Eguneratzeak dauden egiaztatu beharko litzateke" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ez da ezagutzen eguneratzeak bilatzeko azken egiaztatzea noiz egin zen" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Kopiatu estekaren helbidea" \ No newline at end of file diff --git a/po/eu/plasma_applet_org.kde.discovernotifier.po b/po/eu/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..032f273 --- /dev/null +++ b/po/eu/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.discovernotifier.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, Free Software Foundation, Inc. +# This file is distributed under the same license as the kde-workspace package. +# KDE Euskaraz proiektuaren arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 12:28+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Ikusi eguneratzeak" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Discover abiarazten du softwarea eguneratzeko" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Ireki software gunea..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Ikusi eguneratzeak..." \ No newline at end of file diff --git a/po/fi/libdiscover.po b/po/fi/libdiscover.po new file mode 100644 index 0000000..e32b27c --- /dev/null +++ b/po/fi/libdiscover.po @@ -0,0 +1,2724 @@ +# Finnish messages for libmuon. +# Copyright © 2011, 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the extragear_sysadmin package. +# Tommi Nieminen , 2011, 2016, 2017, 2018. +# Jorma Karvonen , 2011. +# Lasse Liehu , 2011, 2012, 2013, 2014, 2015, 2016, 2017. +# Jiri Grönroos , 2012. +# +# KDE Finnish translation sprint participants: +# Author: Artnay +# Author: Lliehu +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-15 13:09+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-POT-Import-Date: 2013-01-13 20:43:19+0000\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Sovellukset" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Apuohjelmat" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Esteettömyys" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Kehitystyökalut" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Virheenpaikannus" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Graafisten käyttöliittymien suunnittelu" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Kehitysympäristöt" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisointi" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilointi" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web-kehitys" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Koulutus" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Tieteet ja suunnittelu" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Tähtitiede" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemia" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Tietojenkäsittelytiede ja robotiikka" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektroniikka" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Insinöörityökalut" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Maantiede" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematiikka" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysiikka" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Pelit" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Pelihallipelit" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Lautapelit" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Korttipelit" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Pulmapelit" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Roolipelit" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulaatio" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Urheilu" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Toiminta" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulaattorit" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafiikka" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Piirtäminen" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Piirustus ja kuvankäsittely" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Valokuvaus" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Julkaiseminen" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Kuvanluku ja tekstintunnistus" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Katselimet" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Keskustelu" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Tiedostojen jako" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Sähköposti" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Verkkoselaimet" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Ääni- ja videomuokkaimet" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Äänisoittimet" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Videosoittimet" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD ja DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Toimisto" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Järjestelmäasetukset" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-lisäosat" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-sovelmat" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontit" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Testiluokka" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "testi" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "testilisäosat" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "testi 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "testi jutuilla" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "testi 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "testi aika monella jutulla" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "testi 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "testi 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Paikallinen nippu" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Virheellinen appstream-osoite ”%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Tuntematon" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Noudetaan kokotietoa" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Tuntematon koko" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 ladattavaa, %2 levyllä" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 levyllä" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Lisää Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ei voitu lisätä lähdettä %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak-pakettilähde-URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Hyväksy käyttöoikeussopimus" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Etäpalvelin %1 vaatii hyväksymään heidän lisenssinsä:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Virheellinen %1-taustaosa: ota yhteyttä jakelusi tekijään." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-lisäosat" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Sovellusten lisäosat" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Väärä KNewStuff-URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Käytä" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Kirjautumistiedot – %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Varmista, että AppStream on asennettu oikein järjestelmääsi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Muisti loppui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Ei verkkoyhteyttä käytettävissä" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Toimintoa ei tueta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Sisäinen virhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG-virhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pakettia ei ole asennettu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Pakettia ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paketti on jo asennettu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Paketin lataus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Pakettiryhmää ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakettiryhmäluettelo on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Riippuvuuksien ratkaisu epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Suodatin on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Epäonnistui luotaessa säiettä" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Toimenpide epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Toimenpide peruttiin" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Välimuistia ei saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Ohjelmalähdettä ei löydy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Järjestelmäpakettia ei voi poistaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-palvelu kaatui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Alustusvirhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Toimenpiteen päättäminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Asetusten jäsentäminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Toimenpidettä ei voida peruuttaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Lukitus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Ei päivitettäviä paketteja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ohjelmalähdeasetusten tallentaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Paikallisasennus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Virheellinen GPG-allekirjoitus löytyi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "GPG-allekirjoitusta ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Lähdepakettia ei voida asentaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Ohjelmalähdeasetusten virhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Ei lisenssisopimusta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Löytyi tiedostoristiriitoja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Löytyi pakettiristiriita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Ohjelmalähde ei ole saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Virheellinen pakettitiedosto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Paketin asennus estetty" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Löytyi vioittunut paketti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Kaikki paketit on jo asennettu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Tiedostoa ei löydy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Peilipalvelimia ei ole enempää saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ei jakelupäivitystietoa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Yhteensopimaton arkkitehtuuri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Laitteessa ei ole tilaa vapaana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Tietovälineen vaihto tarpeen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Sinulla ei ole lupaa suorittaa tätä toimintoa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Päivitystä ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Allekirjoittamattomasta ohjelmalähteestä ei voi asentaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Allekirjoittamattomasta ohjelmalähteestä ei voi päivittää" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Tiedostoluettelon noutaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Requires-arvon noutaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Paketin poistaminen käytöstä epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Rajoitettu lataus havaittu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketin asetusten tekeminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Paketin koostaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Paketin asentaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketin poistaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Päivitys epäonnistui käynnissä olevan prosessin takia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pakettitietokanta muuttui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Tarjottua tyyppiä ei tueta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Asennuksen pääkansio on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Lähteiden noutaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Peruttu prioriteetti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Keskeneräinen toimenpide" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Lukitusta vaaditaan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Tuntematon virhe %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "Ohjelmaa ”%1” muutettiin, ja sen uudelleenkäynnistystä suositellaan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Muutos ohjelmaan ”%1” suosittelee uudelleenkirjautumista." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"”%1” päivitettiin turvallisuussyistä. Uudelleenkirjautumista suositellaan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"”%1” päivitettiin turvallisuussyistä. Järjestelmän uudelleenkäynnistystä " +"suositellaan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" +"Muutos ohjelmaan ”%1” suosittelee järjestelmän uudelleenkäynnistämistä." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Sovellus tarvitsee käynnistää uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Istunto tarvitsee käynnistää uudelleen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Järjestelmä tarvitsee käynnistää uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Turvallisuuden vuoksi istunto tarvitsee käynnistää uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Turvallisuuden vuoksi järjestelmä tarvitsee käynnistää uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Odotetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Päivitetään välimuistia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Alustetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Käsitellään…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Poistetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Ladataan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Asennetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Päivitetään…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Siivotaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Ratkaistaan riippuvuuksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Tarkistetaan allekirjoituksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Testataan muutosten toteuttamista…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Toteutetaan muutoksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Valmis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Peruttu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Odotetaan lukitusta…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Odotetaan valtuutusta…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopioidaan tiedostoja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Tuntematon tila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Jonkin odotetaan tapahtuvan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Alustetaan toimenpidettä…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Toimenpidettä suoritetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Toimenpide poistaa paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Toimenpide lataa paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Toimenpide asentaa paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Toimenpide päivittää paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Toimenpide siivoaa…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "Toimenpide ratkoo parhaillaan asennettavien pakettien riippuvuuksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Toimenpide tarkistaa pakettien allekirjoituksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Toimenpide testaa pakettien muutosten toteuttamista…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Toimenpide toteuttaa pakettien muutoksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Toimenpide on valmis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Toimenpide peruttiin" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Toimenpide odottaa lukitusta…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Odotetaan käyttäjän valtuutusta toimenpiteelle…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Toimenpide kopioi tiedostoja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Päivitetään ohjelmalähteiden välimuistia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Tuntematon tila %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Vakaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Epävakaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testattavana" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Päivitykset verkotta" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"%1 paketin päivitys epäonnistui\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 paketin päivitys onnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Päivitys saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Uusi epävakaa versio: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Uusi versio: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Nykyinen versio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Vanhentaa:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Uusi versio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Päivityksen tila:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Uudelleenkäynnistys:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Toimittaja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (sekä %1 riippuvuus)" +msgstr[1] "%2 (sekä %1 riippuvuutta)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Ohjelmalähteen osoite:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Poistettavat paketit" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Päivitys poistaa seuraavat paketit:\n" +"
    • %1
    \n" +"\n" +"jotta voidaan asentaa:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Käynnistä tietokone uudelleen asennuksen viimeistelemiseksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Pyydetään tyypin ”%1” tietovälineen vaihtoa.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paketti %1 ja sen toimittaja %2 vaativat, että hyväksyt heidän lisenssinsä:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Puuttuva allekirjoitus: %1 kohteessa %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Luotetaanko seuraavaan avaimeen?\n" +"\n" +"Verkko-osoite: %1\n" +"Käyttäjä: %2\n" +"Avain: %3\n" +"Sormenjälki: %4\n" +"Aikaleima: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Vahvista paketin poistaminen" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Toimenpide poistaa myös seuraavan paketin:\n" +"%2" +msgstr[1] "" +"Toimenpide poistaa myös seuraavat paketit:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Tämä Snap-sovellus vaatii turvaeristystoimien poistamista käytöstä." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Luettele kaikki taustajärjestelmät, jotka halutaan ladattavan (pilkuin " +"eroteltuna)." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Rikki" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Saatavilla" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Asennettu" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Päivitettävissä" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Käynnistä" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tarkista päivitykset" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Päivitä" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Aloitetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Odotetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Ladataan" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Asennetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Poistetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Muutetaan lisäosia…" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Valmis" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Epäonnistui" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Peruttu" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Sovelluspäivitykset" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Järjestelmäpäivitykset" + + + + +# *** TARKISTA: Pitääkökään näitä FWUPD-viestejä kääntää? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# ”muon Asennettu klo 16:00” → ”muon asennettu klo 16:00” + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Onko tälle ”oikeaa” käännöstä vai pitäisikö jättää kääntämättä? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# packages.debian.org:in suomennos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Debian.org ei tätä suomenna ja open-tran.eu:n mukaan ei juuri muukaan. \ No newline at end of file diff --git a/po/fi/plasma-discover-notifier.po b/po/fi/plasma-discover-notifier.po new file mode 100644 index 0000000..234dcf2 --- /dev/null +++ b/po/fi/plasma-discover-notifier.po @@ -0,0 +1,97 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Lasse Liehu , 2015. +# Tommi Nieminen , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-23 13:16+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Päivitä" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Turvallisuuspäivityksiä saatavilla" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Päivityksiä saatavilla" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Järjestelmä on ajan tasalla" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Tietokone on käynnistettävä uudelleen" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 päivitettävä paketti" +msgstr[1] "%1 päivitettävää pakettia" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "joista 1 on turvallisuuspäivitys" +msgstr[1] "joista %1 on turvallisuuspäivitystä" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 päivitettävä paketti" +msgstr[1] "%1 päivitettävää pakettia" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 turvallisuuspäivitys" +msgstr[1] "%1 turvallisuuspäivitystä" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Ei päivitettäviä paketteja" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Uudellenkäynnistys vaaditaan" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Järjestelmä on käynnistettävä uudelleen, jotta päivitykset tulevat voimaan." \ No newline at end of file diff --git a/po/fi/plasma-discover.po b/po/fi/plasma-discover.po new file mode 100644 index 0000000..3f8b569 --- /dev/null +++ b/po/fi/plasma-discover.po @@ -0,0 +1,853 @@ +# KDE Finnish translation sprint participants: +# Author: Artnay +# Author: Lliehu +# Lasse Liehu , 2012, 2013, 2014, 2015, 2016. +# Tommi Nieminen , 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-11-22 16:27+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2012-12-01 22:21:39+0000\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Luokkaa ”%1” ei löytynyt" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Flatpak-resurssien kanssa ei voida toimia ilman Flatpak-taustaosaa %1. " +"Asenna se ensin.Flatpak-resurssien kanssa ei voida toimia ilman Flatpak-" +"taustaosaa %1. Asenna se ensin." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ei voitu avata: %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Avaa määräsovellus suoraan sen pakettinimen perusteella" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Avaa ohjelmalla, joka osaa käsitellä annetun MIME-tyypin tiedostoja" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Näyttää luettelon luokan sovelluksista." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Avaa Discover mainitussa tilassa. Tilat vastaavat työkalurivin painikkeita." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Luettele kaikki käytettävissä olevat tilat." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Tiivis tila (auto/compact/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Asennettava paikallinen pakettitiedosto" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Luettele kaikki käytettävissä olevat taustajärjestelmät." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Tukee appstream:-URL-skeemaa" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Löydä" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Sovellusten löytämisohjelma" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasman kehitysryhmä" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Käytettävissä olevat taustajärjestelmät:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Käytettävissä olevat tilat:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Lisäosat" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Toteuta muutokset" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Hylkää" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Lisää…" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Lisää uusi %1-lähde" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Lisää" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Peru" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 arvostelu" +msgstr[1] "%1 arvostelua" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Ei vielä arvosteluja" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Lähteet" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Mikä on uutta" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Arvostelut" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Näytä %1 arvostelu…" +msgstr[1] "Näytä kaikki %1 arvostelua…" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Kirjoita arvostelu!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Kirjoita ensimmäisenä arvostelu!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Asenna tämä sovellus kirjoittaaksesi arvostelun!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Asenna tämä sovellus ja kirjoita ensimmäisenä arvostelu!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Luokka:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versio:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, julkaistu %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Koko:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Lähde:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lisenssi: " + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Kotisivu:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Käyttöopas:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Lahjoita:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Ilmoita ongelmasta:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Lajittelu: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nimi" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Arvostelu" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Koko" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Julkaisuaika" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Mitään ei valitettavasti löytynyt…" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Etsitään yhä…" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Esitellyt" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Ohjelman suorittamista pääkäyttäjänä ei suositella, ja se on " +"tarpeetonta." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Etsi" + +# Viittaa asennettuijen ohjelmien luetteloon. +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Asennetut" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Tarkistetaan päivityksiä…" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Ei päivityksiä" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Päivitä (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Asetukset" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Pahoittelut…" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Ohjelman sulkeminen epäonnistui, koska tehtäviä on kesken." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Resurssia ei löydy: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Jatka" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Asenna" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Poista" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Ladataan…" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resurssit: %1" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Laajennukset…" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tehtävät (%1 %)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tehtävät" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 – %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 – %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Kerro meille tästä arvostelusta!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1/%2 ihmisen mielestä tämä arvostelu on hyödyllinen" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "tuntematon tarkastaja" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 tekijältä %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentti käyttäjältä %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Hyödyllinen? Kyllä/Ei" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Hyödyllinen? Kyllä/Ei" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Hyödyllinen? Kyllä/Ei" + +# @title:window +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "”%1” – arvosteleminen" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Arvostelu:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Lähetyksen nimi: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Otsikko:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Arvostelu:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Anna arvostelu" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Kirjoita otsikko" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Jatka kirjoittamista…" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Liian pitkä!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Lähetä arvostelu" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Arvostelu…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Etsi…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Etsi luokasta %1…" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (oletus)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Aseta oletukseksi" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Lisää lähde…" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ei voitu lisätä suositummuutta: %1" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Ei voitu vähentää suositummuutta: %1" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Poista lähde" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Lähteen ”%1” poisto epäonnistui" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Puuttuvia taustaosia" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Päivitykset" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Päivitys valittu" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Päivitä kaikki" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "päivitystä valittu" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "päivitystä ei valittu" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Lisätietoa…" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Noudetaan…" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Etsitään päivityksiä" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Päivitetään…" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Noudetaan päivityksiä" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Päivitykset" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Järjestelmä on ajan tasalla" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Ei päivityksiä" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Päivityksiä ei ole saatavilla" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Päivitykset tulisi tarkistaa" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ei tiedetä, milloin päivitykset on viimeksi tarkistettu" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Kopioi linkin osoite" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# pmap: =:gen=Muon Discoverin: +# pmap: =:elat=Muon Discoverista: + + + + + + + + + + + + + + + + +# Viittaa asennettuijen ohjelmien luetteloon. \ No newline at end of file diff --git a/po/fi/plasma_applet_org.kde.discovernotifier.po b/po/fi/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..85cc630 --- /dev/null +++ b/po/fi/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Lasse Liehu , 2016. +# Tommi Nieminen , 2018. +# +# +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-08-15 13:10+0200\n" +"Last-Translator: Tommi Nieminen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Katso päivitykset" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Käynnistää Discoverin päivittämään ohjelman" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Avaa ohjelmakeskus…" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Katso päivitykset…" \ No newline at end of file diff --git a/po/fr/libdiscover.po b/po/fr/libdiscover.po new file mode 100644 index 0000000..2f55a08 --- /dev/null +++ b/po/fr/libdiscover.po @@ -0,0 +1,1587 @@ +# translation of libmuon.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Joëlle Cornavin , 2010, 2011, 2012, 2013. +# Vincent Pinon , 2013, 2014, 2015, 2016, 2017. +# Sebastien Renard , 2013. +# Vincent PINON , 2013, 2014. +# Johan Claude-Breuninger , 2017. +# Simon Depiets , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-06 10:05+0800\n" +"Last-Translator: Simon Depiets \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Applications" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoires" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilité" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Outils de développement" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Débogage" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Conception d'interfaces graphiques" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localisation" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilage" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Développement Web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Éducation" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Science et ingénierie" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomy" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimie" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informatique et robotique" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Électronique" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingénierie" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Géographie" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Géologie" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathématiques" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physique" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jeux" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Jeux d'arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jeux de plateau" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jeux de cartes" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Jeux de rôle" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Stratégie" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sports" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Émulateurs" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graphisme" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dessin" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Peinture et retouche" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Photographie" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publication" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Numérisation et reconnaissance de caractères" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Afficheurs" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Discussion" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Partage de fichiers" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Courriel" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navigateurs web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimédia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Éditeurs audio et vidéo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Lecteurs audio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Lecteurs vidéo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD et DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Bureautique" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configuration du système" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Modules complémentaires Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Composants graphiques Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Polices" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Catégorie bidon" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "factice" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "modules complémentaires factices" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "factice 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "factice avec des trucs" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "factice 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "factice avec quelques trucs" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "factice 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "factice 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Paquet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL AppStream malformée « %1 »" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Inconnu" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Collecte des informations sur la taille" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Taille inconnue" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 à télécharger, %2 sur le disque" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 sur le disque" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Ajouter un Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Impossible d'ajouter la source %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI de dépôt Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Accepter l'accord de licence" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Le dépôt %1 requiert que vous acceptiez sa licence :\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Moteur %1 incorrect, veuillez contacter votre distributeur." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1 : %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Modules complémentaires Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Modules complémentaires d'application" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Mauvaise URI KNewStuff : %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Utiliser" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informations de connexion pour %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Veuillez vérifier que Appstream est correctement configuré sur votre système" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Mémoire insuffisante" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Aucune connexion réseau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Opération non prise en charge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Erreur interne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Échec GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paquet non installé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Impossible de trouver le paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paquet déjà installé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Le téléchargement du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Impossible de trouver le groupe de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Liste du groupe de paquets non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "La résolution de dépendances a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filtre non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "La création du processus a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "La transaction a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaction interrompue" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Aucun cache disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Impossible de trouver le dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Impossible de supprimer un paquet système" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Le démon PackageKit a planté" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Erreur d'initialisation" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Échec à la finalisation de la transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "L'analyse de la configuration a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Impossible d'annuler la transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Impossible d'obtenir le verrou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Aucun paquet à mettre à jour" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Impossible d'écrire la configuration du dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "L'installation locale a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Une mauvaise signature GPG a été trouvée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Aucune signature GPG trouvée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Impossible d'installer le paquet source" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Erreur de configuration du dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Aucun accord de licence" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Un conflit de fichier a été trouvé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Conflit de paquet décelé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Dépôt indisponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Fichier paquet non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Installation du paquet bloquée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Un paquet corrompu a été trouvé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Tous les paquets sont déjà installés" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Impossible de trouver le fichier" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Aucun autre miroir disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Aucune donné de mise à jour de distribution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Architecture incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Plus d'espace disponible sur le périphérique" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Un changement de média est nécessaire" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Vous n'avez pas l'autorisation d'exécuter cette opération" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Impossible de trouver la mise à jour" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Impossible d'installer depuis un dépôt non signé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Impossible de mettre à jour depuis un dépôt non signé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Impossible d'obtenir la liste des fichiers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Impossible d'obtenir les éléments requis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Impossible de désactiver le dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Téléchargement restreint détecté" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "La configuration du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "La construction du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "L'installation du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "La suppression du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "La mise à jour a échoué à cause d'un processus en cours d'exécution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "La base de donnés des paquets a changé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Le type fourni n'est pas pris en charge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Racine d'installation non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Impossible d'atteindre les sources" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Priorité annulée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "La transaction n'est pas terminée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Verrou nécessaire" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Erreur inconnue %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "« %1 » a changé et suggère d'être redémarré." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Un changement par « %1 » suggère de redémarrer votre session." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"« %1 » a été mis à jour pour des raisons de sécurité, un redémarrage de la " +"session est recommandé." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"« %1 » a été mis à jour pour des raisons de sécurité, un redémarrage du " +"système est recommandé." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Un changement par « %1 » suggère de redémarrer le système." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'application devra être redémarrée." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La session devra être redémarrée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Le système devra être redémarré." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Pour raisons de sécurité, la session devra être redémarrée." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Pour raisons de sécurité, le système devra être redémarré." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "En attente..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Mise à jour du cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Installation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Traitement..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Suppression..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Téléchargement en cours..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Mise à jour..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Nettoyage..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Résolution des dépendances..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Vérification des signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Test de publication..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Publication..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Terminé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Annulé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "En attente du verrou..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "En attente d'autorisation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Copie des fichiers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "État inconnu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "En attente de quelque chose." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Établissement de la transaction..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "La transaction est en cours..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "La transaction supprime des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "La transaction télécharge des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "La transaction est en train d'installer des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "La transaction met à jour des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "La transaction fait du nettoyage..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"La transaction résoud les dépendances des paquets qu'elle va installer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "La transaction vérifie les signatures des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "La transaction teste la publication de cet ensemble de paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "La transaction publie son ensemble de paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transaction est terminée !" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "La transaction a été annulée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "La transaction est en train d'attendre le verrou..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "En attente que l'utilisateur autorise la transaction..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "La transaction copie des fichiers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Mise à jour du cache du dépôt en cours..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "État inconnu %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "en évolution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "en test" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Mise-à-jour hors ligne" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Impossible de mettre à jour %1 paquets\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Mise à jour réussie de %1 paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Mise à niveau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nouvelle version instable : %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nouvelle version : %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Version actuelle :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Rend obsolète :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nouvelle version :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "État de la mise à jour :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Redémarrer :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Fournisseur :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus la dépendance %1)" +msgstr[1] "%2 (plus les dépendances %1)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL du dépôt :" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paquets à supprimer" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Les paquets suivants seront supprimés par la mise à jour :\n" +"
    • %1
    \n" +"afin d'installer :\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Veuillez redémarrer l'ordinateur pour terminer l'installation" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Un changement de média de type « %1 » est nécessaire.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Le paquet %1 et son fournisseur %2 requièrent que vous acceptiez leur " +"licence:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Signature manquante pour %1 dans %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Faites-vous confiance à la clé suivante ?\n" +"\n" +"URL : %1\n" +"Utilisateur : %2\n" +"Clé : %3\n" +"Empreinte : %4\n" +"Horodatage : %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmer la suppression des paquets" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Cette action supprimera également le paquet suivant :\n" +"%2" +msgstr[1] "" +"Cette action supprimera également les paquets suivants :\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Aimanter" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Cette application snap nécessite la désactivation des mesures de sécurité de " +"confinement." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Lister tous les moteurs que l'on veut charger, séparés par des virgules " +"« , »." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Cassé(s)" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponible(s)" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installé(s)" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Évolutif(s)" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Lancer" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Vérifie s'il y a des mises à jour" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Mettre à jour" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1 / s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "En cours de démarrage" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "En attente" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Téléchargement en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installation en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Suppression en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Changement des modules complémentaires en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fait" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Échec" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Annulé" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Mises à jour d'applications" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Mises à jour du système" \ No newline at end of file diff --git a/po/fr/plasma-discover-notifier.po b/po/fr/plasma-discover-notifier.po new file mode 100644 index 0000000..048db78 --- /dev/null +++ b/po/fr/plasma-discover-notifier.po @@ -0,0 +1,102 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Yoann Laissus , 2015. +# Simon Depiets , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-13 14:42+0800\n" +"Last-Translator: Simon Depiets \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Mettre à jour" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Mises à jour de sécurité disponibles" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Mises à jour disponibles" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Système à jour" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "L'ordinateur doit redémarrer" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquet à mettre à jour" +msgstr[1] "%1 paquets à mettre à jour" + +# Choix de "avec la présence" au lieu de "parmi lesquel(s)" car nous ne pouvons pas être sûr du nombre de paquets dans la première partie du message. +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "avec la présence d'une mise à jour de sécurité" +msgstr[1] "%1 mises à jour de sécurité" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquet à mettre à jour" +msgstr[1] "%1 paquets à mettre à jour" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 mise à jour de sécurité" +msgstr[1] "%1 mises à jour de sécurité" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Aucun paquet à mettre à jour" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Un redémarrage est nécessaire" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Le service a besoin d'être redémarré pour que les mises à jour soient prises " +"en compte." \ No newline at end of file diff --git a/po/fr/plasma-discover.po b/po/fr/plasma-discover.po new file mode 100644 index 0000000..f28f8d9 --- /dev/null +++ b/po/fr/plasma-discover.po @@ -0,0 +1,662 @@ +# translation of muon-discover.po to Français +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Joëlle Cornavin , 2012, 2013. +# Vincent PINON , 2014. +# Thomas Vergnaud , 2015, 2016. +# Vincent Pinon , 2016, 2017. +# Johan Claude-Breuninger , 2017. +# Yoann Laissus , 2017, 2018. +# Simon Depiets , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-12 13:47+0800\n" +"Last-Translator: Simon Depiets \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Impossible de trouver la catégorie « %1 »" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Impossible d'interagir avec les ressources flatpak sans le moteur flatpak " +"%1. Veuillez l'installer." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Impossible d'ouvrir %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Ouvre directement l'application spécifiée par son nom de paquet." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Ouvre avec un programme pouvant se charger du type MIME donné." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Affiche une liste des éléments comportant une catégorie." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Ouvre Discover dans le mode indiqué. Les modes correspondent aux boutons des " +"barres d'outils." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Liste tous les modes disponibles." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode compact (auto / compact / complet)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Fichier de paquet local à installer" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Liste toutes les moteurs disponibles." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Prend en charge les URL appstream:" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Un explorateur d'applications" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 l'équipe de développement de Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Moteurs disponibles :\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modes disponibles :\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Modules complémentaires" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Appliquer les changements" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Abandonner" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Davantage…" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Ajouter un nouveau dépôt %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Ajouter" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Annuler" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 note" +msgstr[1] "%1 notes" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Pas encore de note" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Sources" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Changements récents" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Révisions" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Afficher %1 avis..." +msgstr[1] "Afficher tous les %1 avis..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Donnez votre avis !" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Soyez le premier à donner votre avis !" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Installez cette appli et donnez votre avis !" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Installez cette appli et soyez le premier à donner votre avis !" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Catégorie : " + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version :" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publiée le %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Taille : " + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Source :" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licence :" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Page personnelle :" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Manuel utilisateur :" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Faire un don :" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Signaler un problème :" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Tri : %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Note" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Taille" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Date de sortie" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Désolé, rien n'a été trouvé..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Recherche toujours en cours…" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Applications phares" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"L'exécution en tant que superutilisateur est inutile et " +"déconseillée." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Rechercher" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installé(s)" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Recherche de mises à jour..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Aucune mise à jour" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Mettre à jour (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Paramètres" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Désolé..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Impossible de fermer l'application, car certaines tâches sont encore en " +"cours." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Impossible de trouver la ressource : %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Continuer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Supprimer" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Chargement..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressources pour « %1 »" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensions…" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tâches (%1 %)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tâches" + +# unreviewed-context +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2 : %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Informez-nous à propos de cette évaluation !" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 personnes sur %2 ont trouvé cette évaluation utile" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "évaluateur inconnu" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 par %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Commentaire par %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utile ? Oui/Non" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utile ? Oui/Non" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utile ? Oui/Non" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Évaluation de « %1 »" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Note :" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nom de l'envoi : %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Titre : " + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Avis :" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Saisissez une note" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Saisissez un titre" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Continuez à écrire..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Trop long !" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Envoyer mon avis" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Avis…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Chercher..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Chercher dans « %1 »..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (par défaut)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Définir comme défaut" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Ajouter une source..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Impossible d'augmenter la préférence « %1 »" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Impossible de diminuer la préférence « %1 »" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Supprimer l'origine" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Impossible de supprimer la source « %1 »." + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Moteurs manquants" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Mises à jour" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Mises à jour sélectionnées" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Tout mettre à jour" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "Mises à jour sélectionnées" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "Mises à jour non sélectionnées" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Plus d'informations..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Téléchargement..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Recherche de mises à jour" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Mise à jour…" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Téléchargement des mises à jour" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Mises à jour" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Le système est à jour" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Aucune mise à jour" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Aucune mise à jour disponible." + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Vous devriez vérifier les mises à jour" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "La date de la dernière vérification des mises à jour est inconnue" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copier l'adresse du lien" \ No newline at end of file diff --git a/po/fr/plasma_applet_org.kde.discovernotifier.po b/po/fr/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..e6f4a20 --- /dev/null +++ b/po/fr/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,42 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Thomas Vergnaud , 2014, 2015. +# Simon Depiets , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-25 16:20+0800\n" +"Last-Translator: Simon Depiets \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Afficher les mises à jour" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Exécute Discover pour mettre à jour les logiciels" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Ouvrir la logithèque..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Voir les mises à jour…" \ No newline at end of file diff --git a/po/ga/libdiscover.po b/po/ga/libdiscover.po new file mode 100644 index 0000000..fe8bd14 --- /dev/null +++ b/po/ga/libdiscover.po @@ -0,0 +1,1650 @@ +# Irish translation of libmuon +# Copyright (C) 2011 This_file_is_part_of_KDE +# This file is distributed under the same license as the libmuon package. +# Kevin Scannell , 2011. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2011-12-28 12:28-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "Feidhmchláir" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Oiriúintí" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Inrochtaineacht" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Uirlisí Forbróra" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Dífhabhtú" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Dearadh Comhéadain Ghrafaigh" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEanna" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Logánú" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Próifíliú" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Forbairt Ghréasáin" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Oideachas" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Eolaíocht agus Innealtóireacht" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Réalteolaíocht" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Bitheolaíocht" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Ceimic" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Eolaíocht Ríomhaireachta agus Róbataic" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Leictreonaic" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Innealtóireacht" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Tíreolaíocht" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geolaíocht" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matamaitic" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisic" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Cluichí" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Stuara Siamsa" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Cluichí Cláir" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Cluichí Cártaí" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzail" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rólimirt" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Insamhladh" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Spórt" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Feidhmchláir" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Insamhladh" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafaic" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3T" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Líníocht" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Péinteáil agus Eagarthóireacht" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Grianghrafadóireacht" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Foilsitheoireacht" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scanadh agus OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Amharcáin" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Idirlíon" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Comhrá" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Comhroinnt Comhad" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Ríomhphost" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Brabhsálaithe" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Ilmheáin" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oifig" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Córas agus Socruithe" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Desktop Widgets" +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Giuirléidí Deisce Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Clónna" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Anaithnid" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Anaithnid" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 le híosluchtú, %2 ar an diosca" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 ar an diosca" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Feidhmchláir" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"web\"" +#| msgid "Internet" +msgid "Internal error" +msgstr "Idirlíon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not found" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package download failed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package group not found" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package group list invalid" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Transaction failure" +msgstr "Earráid Túsaithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Initialization failure" +msgstr "Earráid Túsaithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Local install failed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Residual Configuration" +msgid "Repo configuration error" +msgstr "Cumraíocht Iarmharach" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package install blocked" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package failed to install" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Faoi Ghlas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "Earráid Anaithnid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "Ar Feitheamh" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"text" +#| "\"" +#| msgid "Word Processing" +msgid "Processing..." +msgstr "Próiseáil Focal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Bain" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "Á Íosluchtú" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Installing" +msgid "Installing..." +msgstr "Á Shuiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "Cumarsáid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Waiting for authorization..." +msgstr "Earráid fhíordheimhnithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "Anaithnid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "Anaithnid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Suiteáilte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Feidhmchláir" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "In-uasghrádaithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Version Control" +msgid "New version: %1" +msgstr "Rialú Leaganacha" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Version Control" +msgid "Current Version:" +msgstr "Rialú Leaganacha" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Version Control" +msgid "New Version:" +msgstr "Rialú Leaganacha" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Packages to remove" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Briste" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Le fáil" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Suiteáilte" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "In-uasghrádaithe" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Lorg Nuashonruithe" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Nuashonruithe" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Starting" +msgstr "Ar Feitheamh" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ar Feitheamh" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Á Íosluchtú" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Á Shuiteáil" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Á Bhaint" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Breiseáin á nAthrú" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when done" +#| msgid "Done" +msgctxt "@info:status" +msgid "Done" +msgstr "Críochnaithe" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Feidhmchláir" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Nuashonruithe" \ No newline at end of file diff --git a/po/ga/plasma-discover.po b/po/ga/plasma-discover.po new file mode 100644 index 0000000..ccdd7aa --- /dev/null +++ b/po/ga/plasma-discover.po @@ -0,0 +1,676 @@ +# Irish translation of muon-discover +# Copyright (C) 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the muon-discover package. +# Kevin Scannell , 2012. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2012-05-14 16:25-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Ná Sábháil" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cealaigh" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Rátáil" +msgstr[1] "Rátáil" +msgstr[2] "Rátáil" +msgstr[3] "Rátáil" +msgstr[4] "Rátáil" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Foinsí" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Anótálacha" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Athbhreithnigh" +msgstr[1] "Athbhreithnigh" +msgstr[2] "Athbhreithnigh" +msgstr[3] "Athbhreithnigh" +msgstr[4] "Athbhreithnigh" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Seol" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Foinsí" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage" +msgid "Homepage:" +msgstr "Leathanach Baile" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Ainm" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Rátáil" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Suiteáil" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Suiteáilte" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Nuashonraigh" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "Nuashonraigh" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Nuashonraigh" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Na Rátálacha Is Fearr" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Suiteáil" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Bain" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Á Luchtú..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Nuashonraigh" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing '%1'" +msgstr "Athbhreithnigh" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Rátáil:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Athbhreithnigh" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Á Luchtú..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Seol" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Athbhreithnigh" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Cuir Foinse Leis" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Nuashonraigh Uile" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Nuashonraigh Uile" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Á Luchtú..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "Á Luchtú..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/gl/libdiscover.po b/po/gl/libdiscover.po new file mode 100644 index 0000000..3faf035 --- /dev/null +++ b/po/gl/libdiscover.po @@ -0,0 +1,1582 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Miguel Branco, 2012, 2013. +# Adrián Chaves Fernández , 2013, 2015, 2016, 2017. +# Marce Villarino , 2013, 2014. +# Adrián Chaves (Gallaecio) , 2017, 2018, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2019-01-01 13:29+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicativos" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accesorios" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accesibilidade" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Ferramentas de desenvolvedores" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuración" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Deseño de interfaces gráficas" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localización" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Análise de rendemendo" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Desenvolvemento web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educación" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ciencia e enxeñaría" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomía" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Bioloxía" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Química" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informática e robótica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electrónica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Enxeñaría" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Xeografía" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Xeoloxía" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemáticas" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Física" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Xogos" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Xogos de taboleiro" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Xogos de cartas" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Quebracabezas" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Interpretación de roles" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulación" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estratexia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Deportes" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acción" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Gráficos" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Debuxo" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Deseño e edición" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografía" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicación" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Escaneado e OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visores" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Conversa" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Compartición de ficheiros" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correo" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navegadores web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editores de son e vídeo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Reprodutores de son" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Reprodutores de vídeo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD e DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configuración do sistema" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Trebellos de Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipos de letra" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoría de proba" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "proba" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complementos de proba" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "proba 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "proba con cousas" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "proba 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "proba con bastantes cousas" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "proba 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "proba 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Fardo local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de appstream incorrecto «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Descoñecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Obtendo información sobre o tamaño" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Tamaño descoñecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 para descargar, %2 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Engadir Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Non se puido engadir a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI de repositorio de Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Aceptar os termos de uso" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"O remoto %1 require que acepte a súa licenza:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"A infraestrutura %1 non é válida, póñase en contacto co seu distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Complementos de aplicativos" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI de KNewStuff incorrecta: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Información de acceso para %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Verifique que Appstream está correctamente configurado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Esgotouse a memoria" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Non se dispón de conexión á rede" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operación non admitida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Erro interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Fallo de GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Identificador incorrecto de paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "O paquete non está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Non se atopou o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "O paquete xa está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Fallou a descarga do paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Non se atopou o grupo do paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "A lista do grupo do paquete é incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Fallou a resolución de dependencias" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro incorrecto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "A creación dun fío de execución fallou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Fallo de transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Cancelouse a transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Non hai caché dispoñíbel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Non se pode atopar o repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Non se pode retirar un paquete de sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "O servizo de PackageKit quebrou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Fallo de inicialización" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Non se puido inicializar a transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Fallou a análise da configuración" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Non se pode cancelar a transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Non se pode obter o bloqueo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Non hai ningún paquete para actualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Non se pode escribir a configuración do repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Fallou a instalación local" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Atopouse unha sinatura GPG incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Non se atopou ningunha sinatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Non se pode instalar o paquete de código fonte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Erro da configuración do repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Non hai acordo de licenza" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Atopáronse conflitos de ficheiro" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Atopouse un conflito entre paquetes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "O repositorio non está dispoñíbel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ficheiro de paquete incorrecto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Instalación do paquete bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Atopouse un paquete corrompido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Xa están instalados todos os paquetes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Non se atopou o ficheiro" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Non hai máis réplicas dispoñíbeis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Non hai datos de anovado da distribución" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "A arquitectura non é compatíbel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Non queda espazo no dispositivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Precísase dun cambio de soporte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Non ten autorización para executar esta operación" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Non se atopou a actualización" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Non se pode instalar desde un repositorio non asinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Non se pode actualizar desde un repositorio non asinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Non se pode obter a lista de ficheiros" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Non se pode obter a lista que requisitos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Non se pode desactivar o repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Detectouse unha descarga restrinxida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Non se puido configurar o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "O paquete non se puido construír" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Non se puido instalar o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Non se puido retirar o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "A actualización fallou por mor do proceso en execución" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "A base de datos de paquetes cambiou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "O tipo fornecido non se admite" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "A raíz da instalación é incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Non se poden obter as fontes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Cancelouse a prioridade" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacción non rematada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Requírese un bloqueo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Erro descoñecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» cambiouse e suxírese que se faga un reinicio." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Un cambio en «%1» suxire que reinicie a súa sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» actualizouse por motivos de seguranza, recoméndase un reinicio da " +"sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» actualizouse por motivos de seguranza, recoméndase un reinicio do " +"sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Un cambio en «%1» suxire que arranque de novo o sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "É necesario reiniciar o aplicativo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "É necesario reiniciar a sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "É necesario reiniciar o sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "É necesario reiniciar a sesión por motivos de seguridade." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "É necesario reiniciar o sistema por motivos de seguridade." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Estase a agardar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Actualizando a caché…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configuración…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Estase a procesar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Retirar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Estase a descargar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instalando…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Estase a actualizar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Estase a limpar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolvendo as dependencias…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Estanse a comprobar as sinaturas…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Probar a remisión…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Estase a remitir…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Rematada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Estase a agardar o bloqueo…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Estase a agardar pola autorización…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Estanse a copiar os ficheiros…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Estado descoñecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Estase a agardar por algo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Configurando a transacción…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A transacción está en funcionamento…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A transacción está a retirar os paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A transacción está a descargar os paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "A transacción está a instalar os paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A transacción está a actualizar paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A transacción está a limpar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"A transacción está a resolver as dependencias dos paquetes que ha instalar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "A transacción está a comprobar as sinaturas dos paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "A transacción está a probar a remisión deste lote de paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "A transacción está a remitir o lote de paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "A transacción rematou!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "A transacción cancelouse" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "A transacción está a agardar polo bloqueo…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Estase a agardar a que o usuario autorice a transacción…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A transacción está a copiar os ficheiros…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Actualizando a caché dos repositorios…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Estado descoñecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estábel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestábel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Probas" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizacións sen internet" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Non se puideron actualizar %1 paquetes.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 paquetes actualizáronse correctamente." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Hai unha actualización dispoñíbel." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nova versión inestábel: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nova versión: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versión actual:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsoletos:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nova versión:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Estado da actualización:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reiniciar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Vendedor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (máis %1 dependencia)" +msgstr[1] "%2 (máis %1 dependencias)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL do repositorio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paquetes para desinstalar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"A actualización retirará os seguintes paquetes:\n" +"
    • %1
    \n" +"para instalar:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Reinicie o computador para completar a instalación" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Solicitouse un cambio do soporte de tipo «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"O paquete %1 e o seu fabricante %2 requiren que acepte a súa licenza:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta a firma para %1 en %2." + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Confía na seguinte chave?\n" +"\n" +"URL: %1\n" +"Usuario: %2\n" +"Chave: %3\n" +"Pegada: %4\n" +"Marca de tempo: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar o retiro do paquete" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Esta acción retirará tamén o seguinte paquete:\n" +"%2" +msgstr[1] "" +"Esta acción retirará tamén os seguintes paquetes:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Axustar" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Este aplicativo de Snap necesita desactivar as medidas de reclusión de " +"seguranza." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Listar todas as infraestruturas que cómpre cargar, separadas por comas («,»)." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Estragado" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Dispoñíbel" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Anovábel" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Iniciar" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprobar se hai novas actualizacións" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Actualizar" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciando" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Agardando" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Descargando" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalando" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Retirando" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Cambiando os complementos" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Feito" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fallou" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelado" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizacións de aplicativos" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizacións do sistema" \ No newline at end of file diff --git a/po/gl/plasma-discover-notifier.po b/po/gl/plasma-discover-notifier.po new file mode 100644 index 0000000..efa758b --- /dev/null +++ b/po/gl/plasma-discover-notifier.po @@ -0,0 +1,96 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Adrián Chaves Fernández , 2015. +# Adrián Chaves (Gallaecio) , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-10-21 20:57+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Actualizar" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Hai dispoñíbeis actualizacións de seguranza." + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Hai actualizacións dispoñíbeis." + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "O sistema está ao día." + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Hai que reiniciar o computador" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquete para actualizar" +msgstr[1] "%1 paquetes para actualizar." + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "dos que 1 é unha actualización de seguranza" +msgstr[1] "dos que %1 son actualizacións de seguranza." + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paquete para actualizar" +msgstr[1] "%1 paquetes para actualizar." + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "Actualización de seguridade" +msgstr[1] "%1 actualizacións de seguranza." + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Non hai ningún paquete para actualizar." + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "É necesario reiniciar" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Debe reiniciarse o sistema para que as actualizacións xurdan efecto." \ No newline at end of file diff --git a/po/gl/plasma-discover.po b/po/gl/plasma-discover.po new file mode 100644 index 0000000..61ee6f1 --- /dev/null +++ b/po/gl/plasma-discover.po @@ -0,0 +1,658 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Miguel Branco, 2012, 2013. +# Marce Villarino , 2013. +# Adrián Chaves Fernández , 2015, 2016. +# Adrián Chaves (Gallaecio) , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-23 19:43+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Non se puido atopar a categoría «%1»." + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Non se pode interactuar con recursos de flatpak sen a infraestrutura de " +"flatpak %1. Instálea primeiro." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Non se puido abrir %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Abre directamente o aplicativo especificado polo seu nome de paquete." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Abrir un programa que poida xestionar o mimetype dado." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra unha lista de entradas cunha categoría." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Abrir Discover nun modo dito. Os modos correspóndense cos botón da barra de " +"ferramentas." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Listar todos os modos dispoñíbeis." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo de visualización (automático, compacto ou completo)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "O ficheiro local de paquete para instalar" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Listar todas as infraestruturas dispoñíbeis." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Compatíbel co esquema de URL «appstream:»" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Descubrir" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador de aplicativos" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Equipo de desenvolvemento de Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Infraestruturas dispoñíbeis:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos dispoñíbeis:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Complementos" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar os cambios" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Descartar" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Máis…" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Engadir un novo repositorio de %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Engadir" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Cualificación" +msgstr[1] "%1 valoracións" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Aínda non ten valoracións." + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Novidades" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Revisións" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostrar %1 recensión…" +msgstr[1] "Mostrar as %1 recensións…" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Escriba unha recensión!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Sexa o primeiro en escribir unha recensión!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instale o aplicativo e escriba unha recensión!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Instale o aplicativo e sexa o primeiro en escribir unha recensión!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoría:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versión:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicado o %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Tamaño:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Orixe:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licenza:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Páxina web:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guía de usuario:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Doar:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Informar dun problema:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Orde: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Cualificación" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Tamaño" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data de publicación" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Non se atopou nada…" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Continúa a busca…" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Recomendado" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Non se recomenda executar como root, e non é necesario." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Buscar" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Comprobando se hai actualizacións…" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Non hai actualizacións" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualizar (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configuración" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Desculpe…" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Non se puido pechar o aplicativo, é necesario completar algunhas tarefas." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Non se pode atopar o recurso: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Proseguir" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Retirar" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Cargando…" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos de «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensións…" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tarefas (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tarefas" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Cóntanos algo desta crítica!" + +# skip-rule: trasno-find +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "A %1 de %2 persoas serviulles esta crítica para decidir" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "autor descoñecido" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comentado por %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Foille útil? Si/Non" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Foille útil? Si/Non" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Foiche útil? Si/Non" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Revisando «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Cualificación:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nome de presentación: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Recensión" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Escriba unha valoración" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Escriba un título" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Siga escribindo…" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Demasiado longa!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Enviar a recensión" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Realizar unha recensión…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Buscar…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Buscar en «%1»…" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (predeterminado)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Converter en predeterminado" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Engadir unha fonte…" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Non se puido aumentar a opción «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Non se puido diminuír a opción «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Eliminar a orixe" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Non se puido retirar a fonte «%1»." + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Infraestruturas que faltan" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualizacións" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Actualizar os escollidos" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Actualizalo todo" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "actualizacións seleccionadas" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "actualizacións non seleccionadas" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Máis información…" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Obtendo…" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Buscando actualizacións…" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Actualizando…" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Obtendo as actualizacións" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizacións" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "O sistema está ao día" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Non hai actualizacións" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Non hai actualizacións dispoñíbeis" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Debería comprobar se hai actualizacións." + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" +"Descoñécese cando foi a última vez que se comprobou se había actualizacións." + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copiar o enderezo da ligazón" \ No newline at end of file diff --git a/po/gl/plasma_applet_org.kde.discovernotifier.po b/po/gl/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..5f4dd76 --- /dev/null +++ b/po/gl/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,39 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Adrián Chaves Fernández , 2015. +# Adrián Chaves (Gallaecio) , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-10-21 20:56+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Ver as actualizacións" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Inicia Discover para actualizar o software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Abrir o centro de software…" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Ver as actualizacións…" \ No newline at end of file diff --git a/po/he/libdiscover.po b/po/he/libdiscover.po new file mode 100644 index 0000000..d17e47e --- /dev/null +++ b/po/he/libdiscover.po @@ -0,0 +1,1566 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Elkana Bardugo , 2016. +# Elkana Bardugo , 2017. #zanata +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-05-16 12:46-0400\n" +"Last-Translator: Elkana Bardugo \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Zanata 3.9.6\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "יישומים" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "עזרים" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "נגישות" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "כלי מפתחים" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "ניפוי באגים" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "מעצבי ממשק משתמש" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "סביבות פיתוח" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "בינאום" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "פיתוח Web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "חינוכי" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "מדע והדסה" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "אסטרונומיה" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "ביולוגיה" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "כימיה" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "מדעי המחשב ורובוטיקה" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "אלקטרוניקה" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "הנדסה" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "גאוגרפיה" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "גאולוגיה" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "מתמטיקה" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "פיזיקה" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "משחקים" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "ארקייד" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "משחקי לוח" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "משחקי קלפים" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "פזלים" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "משחקי תפקידים" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "סימולציות" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "ספורט" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "יישומים" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "סימולציות" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "גרפיקה" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "תלת מימד" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "שירטוט" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "ציור ועריכה" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "צילום" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "הוצאה לאור" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "סריקה ותמונה לטקסט (OCR)" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "מציגים" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "אינטרנט" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "צאטים" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "שיתוף קבצים" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "דואר אלקטרוני" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "דפדפני אינטרנט" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "מולטימדיה" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "משרד" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "הגדרות מערכת" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "תוספי Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "יישומוני Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "גופנים" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "קטגורית דמה" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "דמה" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "תוספי דמה" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "דמה 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "דמה עם דברים" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "דמה 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "דמה עם כמה דברים" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "דמה 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "דמה 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "לא ידוע" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "אחזר מידע על הגודל" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "גודל לא ידוע" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 להורדה, %2 על דיסק" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 על דיסק" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "אשר EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "תוספי Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "תוספי יישומים" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "שגיאה לא ידועה %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "ממתין..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "מרענן מטמון..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "מגדיר..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "מעבד..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "מסיר..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "מוריד..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "מתקין..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "מעדכן..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "מנקה..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "הסתיים" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "מבוטל" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "ממתין לאימות" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "מעתיק קבצים" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "מצב לא ידוע" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "מצב לא ידוע %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "יציב" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "לא יציב" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "בבדיקות" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "עדכוני יישומים" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "ניתן לשדרוג" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "," + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "מצב עדכון:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "הפעל מחדש:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "שבור" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "זמין" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "הותקן" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "ניתן לשדרוג" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "בדוק עדכונים" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Updates:" +msgid "Update" +msgstr "עדכונים:" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "מתחיל" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "ממתין" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "מוריד" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "מתקין" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "מסיר" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "סיים" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "מבוטל" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "עדכוני יישומים" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "עדכוני מערכת" \ No newline at end of file diff --git a/po/he/plasma-discover-notifier.po b/po/he/plasma-discover-notifier.po new file mode 100644 index 0000000..fab9d7f --- /dev/null +++ b/po/he/plasma-discover-notifier.po @@ -0,0 +1,96 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Elkana Bardugo , 2016. +# Elkana Bardugo , 2017. #zanata +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2017-05-16 06:54-0400\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Zanata 3.9.6\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "עדכוני אבטחה זמינים" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "עדכונים זמינים" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "המערכת מעודכנת" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "חבילה לעדכון" +msgstr[1] "%1 חבילות לעדכון" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "ובהם עדכון אבטחה אחד" +msgstr[1] "ובהם %1 עדכוני אבטחה" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "חבילה אחת לעדכון" +msgstr[1] "%1 חבילות לעדכון" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "עדכון אבטחה אחד" +msgstr[1] "%1 עדכוני אבטחה" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "אין חבילות לעדכון" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/he/plasma-discover.po b/po/he/plasma-discover.po new file mode 100644 index 0000000..293d6bf --- /dev/null +++ b/po/he/plasma-discover.po @@ -0,0 +1,652 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Elkana Bardugo , 2016. +# Elkana Bardugo , 2017. #zanata +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2017-05-16 06:54-0400\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Zanata 3.9.6\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "החל הגדרות" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "עוד..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "דירוג:" +msgstr[1] "דירוג:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Sources" +msgstr "עוד..." + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "סקירה" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "עוד הערות (%1)..." +msgstr[1] "עוד הערות (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +msgid "Version:" +msgstr "גרסה" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +msgid "Size:" +msgstr "גודל" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +msgid "License:" +msgstr "רשיון" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +msgid "Homepage:" +msgstr "דך הבית" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +msgid "Sort: %1" +msgstr "חפש ב־%1..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "דירוג:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +msgid "Size" +msgstr "גודל" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +msgid "Still looking..." +msgstr "מתקין..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "חפש..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "מותקן" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +msgid "Checking for updates..." +msgstr "אין עדכונים" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "אין עדכונים" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "עדכון (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +msgid "Settings" +msgstr "דירוג הכי טוב" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "התקן" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "הסר" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "טוען..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "תוספים..." + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +msgid "Tasks (%1%)" +msgstr " (%1)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "דירוג:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "סקירה" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +msgid "Keep writing..." +msgstr "טוען..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "סקירה" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "חפש..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "חפש ב־%1..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Add Source..." +msgstr "עוד..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +msgid "Updates" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +msgid "Update Selected" +msgstr "עדכן נבחרים" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +msgid "Update All" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "עדכן נבחרים" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "עדכן אלו שלא נבחרו" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "טוען..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "אין עדכונים" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "טוען..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "אין עדכונים" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "אין עדכונים" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "אין עדכונים זמינים." + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/he/plasma_applet_org.kde.discovernotifier.po b/po/he/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..2c58fd4 --- /dev/null +++ b/po/he/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Elkana Bardugo , 2016. +# Elkana Bardugo , 2017. #zanata +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2017-05-16 06:55-0400\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Zanata 3.9.6\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "ראה עדכונים..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "הרץ את התוכנה כדי לבצע את העדכון" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "ראה עדכונים..." \ No newline at end of file diff --git a/po/hu/libdiscover.po b/po/hu/libdiscover.po new file mode 100644 index 0000000..3a029c3 --- /dev/null +++ b/po/hu/libdiscover.po @@ -0,0 +1,1612 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Kristóf Kiszel , 2010, 2011, 2012, 2014, 2015. +# Kiszel Kristóf, 2011, 2017. +# Balázs Úr , 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-03-22 20:32+0100\n" +"Last-Translator: Kiszel Kristóf \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Alkalmazások" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Kellékek" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Akadálymentesítés" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Fejlesztőeszközök" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Hibakeresés" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Grafikus felhasználóifelület-tervezés" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Integrált fejlesztőkörnyezetek" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Honosítás" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilozás" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Webfejlesztés" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Oktatás" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Tudományos és műszaki" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Csillagászat" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biológia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kémia" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Számítógép-tudomány és robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Műszaki" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Földrajz" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geológia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Játékok" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Táblajátékok" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kártyajátékok" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Kirakósok" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Szerepjáték" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Szimuláció" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportok" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Alkalmazások" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Szimuláció" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Rajzolás" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Festés és szerkesztés" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fényképészet" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Kiadványszerkesztés" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Szkennelés és OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Megjelenítők" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Csevegés" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fájlmegosztás" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Levelezés" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webböngészők" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimédia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Iroda" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Rendszerbeállítások" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma bővítmények" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma widgetek" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Betűkészletek" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Üres kategória" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "üres" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "üres bővítmények" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "üres1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "üres, dolgokkal" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "üres 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "üres, néhány dologgal" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "üres 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "üres 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Hibás appstream URL: „%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Ismeretlen" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Ismeretlen" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 letöltendő, %2 a lemezen" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 a lemezen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "EULA elfogadása" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"A(z) %1 csomag és annak gyártója (%2) megköveteli, hogy elfogadja a " +"licencet:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma bővítmények" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Alkalmazás-bővítmények" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Hibás KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Bejelentkezési adatok ehhez: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Ellenőrizze, hogy az Appstream megfelelően van-e telepítve a rendszeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Nincs elég memória" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nem érhető el hálózati kapcsolat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "A művelet nem támogatott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Belső hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "A csomagazonosító érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "A csomag nincs telepítve" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "A csomag nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "A csomag már telepítve van" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "A csomag letöltése meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "A csomagcsoport nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "A csomag csoportlista érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "A függőségfeloldás nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "A szűrő érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Meghiúsult a szál létrehozása közben" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Tranzakcióhiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "A tranzakció megszakítva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Nem érhető el gyorsítótár" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Nem található a tároló" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nem lehet eltávolítani rendszercsomagot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "A PackageKit démon összeomlott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Inicializálási hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Nem sikerült befejezni a tranzakciót" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "A beállítás feldolgozása nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nem lehet megszakítani a tranzakciót" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nem lehet beszerezni a zárat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Nincsenek frissítendő csomagok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nem lehet írni a tároló beállítást" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "A helyi telepítés nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Rossz GPG-aláírás található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Nem található GPG-aláírás" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Nem sikerült telepíteni a forrás csomagot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Tároló beállítási hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Nincs licencegyezmény" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Fájlütközések találhatók" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Csomagütközés található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "A tároló nem érhető el" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Érvénytelen csomagfájl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "A csomag telepítése blokkolva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Sérült csomag található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Már minden csomag telepítve van" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "A fájl nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Nem érhető el több tükör" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Nincs disztribúció frissítési adat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nem kompatibilis architektúra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Nincs szabad hely az eszközön" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Adathordozó-csere szükséges" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nincs felhatalmazása ennek a műveletnek a végrehajtására" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Frissítés nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nem lehet telepíteni aláírás nélküli tárolóból" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nem lehet frissíteni aláírás nélküli tárolóból" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Nem kérhető le a fájllista" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Nem kérhetők le követelmények" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nem lehet letiltani a tárolót" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Korlátozott letöltés észlelhető" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "A csomag beállítása meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "A csomag fordítása meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "A csomag telepítése meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "A csomag eltávolítása meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "A frissítés futó folyamat miatt megszakadt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "A csomagadatbázis megváltozott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "A szolgáltatott típus nem támogatott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "A telepítési gyökér érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Nem lehet letölteni a forrásokat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Megszakított prioritás" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Befejezetlen tranzakció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Zár szükséges" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Ismeretlen hiba: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "A(z) „%1” megváltozott és újraindítása javasolt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "A(z) „%1” módosítása a munkamenet újraindítását javasolja." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"A(z) „%1” biztonsági okok miatt frissítve lett, javasolt a munkamenet " +"újraindítása." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"A(z) „%1” biztonsági okok miatt frissítve lett, javasolt a rendszer " +"újraindítása." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "A(z) „%1” módosítása a rendszer újraindítását javasolja." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Az alkalmazást újra kell indítani." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "A munkamenetet újra kell indítani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "A rendszert újra kell indítani." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Biztonsági okokból a munkamenetet újra kell indítani." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Biztonsági okokból a rendszert újra kell indítani." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Várakozás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Gyorsítótár frissítése…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Beállítás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Feldolgozás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Eltávolítás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Letöltés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Telepítés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Frissítés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Tisztítás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Függőségek feloldása…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Aláírások ellenőrzése…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "A véglegesítés tesztelése…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Véglegesítés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Befejezve" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Megszakítva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Várakozás a zárolásra…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Várakozás felhatalmazásra…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Fájlok másolása…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Ismeretlen állapot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Várunk valamire." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Tranzakció beállítása…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A tranzakció jelenleg dolgozik…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A tranzakció jelenleg csomagokat távolít el…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A tranzakció jelenleg csomagokat tölt le…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "A tranzakciók jelenleg csomagokat telepítenek…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A tranzakció jelenleg csomagokat frissít…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A tranzakció jelenleg tisztít…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"A tranzakció jelenleg azon csomagok függőségeit oldja fel, amelyeket " +"telepíteni fog…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "A tranzakció jelenleg a csomagok aláírásait ellenőrzi…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"A tranzakció jelenleg a csomagok beállításainak véglegesítését teszteli…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "A tranzakció jelenleg a csomagok beállítását véglegesíti…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "A tranzakció befejeződött!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "A tranzakció meg lett szakítva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "A tranzakció jelenleg a zárolásra várakozik…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Várakozás, hogy a felhasználó felhatalmazza a tranzakciót…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A tranzakció jelenleg fájlokat másol…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "A tároló gyorsítótárának frissítése folyamatban…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Ismeretlen állapot: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Teszt" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Alkalmazásfrissítések" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"A(z) %1 letöltése meghiúsult\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Frissíthető" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Verzió %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Lock at Current Version" +msgid "Current Version:" +msgstr "Jelenlegi verzió zárolása" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Elavult:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Verzió %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Frissítés állapota:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Újraindítás:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Gyártó:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Tárolóleírás:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Eltávolítandó csomagok" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "%1" +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"A frissítés az alábbi csomagokat távolítja el:\n" +"%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"A(z) „%1” típus adathordozó-cseréje szükséges.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"A(z) %1 csomag és annak gyártója (%2) megköveteli, hogy elfogadja a " +"licencet:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "Unable to download the following packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Az alábbi csomagok nem tölthetők le:" +msgstr[1] "Az alábbi csomagok nem tölthetők le:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, fuzzy, kde-format +#| msgid "" +#| "List all the backends we'll want to have loaded, separated by coma ','." +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Az összes betöltendő háttérprogram listázása, vesszővel „,” elválasztva." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Törött" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Elérhető" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Telepítve" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Frissíthető" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Frissítések keresése" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Frissítések" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Kezdés" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Várakozás" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Letöltés" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Telepítés" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Eltávolítás" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Bővítmények módosítása" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Kész" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Megszakítva" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Alkalmazásfrissítések" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Rendszerfrissítések" \ No newline at end of file diff --git a/po/hu/plasma-discover-notifier.po b/po/hu/plasma-discover-notifier.po new file mode 100644 index 0000000..1f2dfea --- /dev/null +++ b/po/hu/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Kiszel Kristóf , 2015, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2017-02-06 21:58+0100\n" +"Last-Translator: Kiszel Kristóf \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Biztonsági frissítések érhetők el" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Frissítések érhetők el" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "A rendszer napra kész" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 frissítendő csomag" +msgstr[1] "%1 frissítendő csomag" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "1 biztonsági frissítés" +msgstr[1] "%1 biztonsági frissítés" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 frissítendő csomag" +msgstr[1] "%1 frissítendő csomag" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 biztonsági frissítés" +msgstr[1] "%1 biztonsági frissítés" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Nincsenek frissítendő csomagok" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/hu/plasma-discover.po b/po/hu/plasma-discover.po new file mode 100644 index 0000000..74e0d96 --- /dev/null +++ b/po/hu/plasma-discover.po @@ -0,0 +1,679 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Kristóf Kiszel , 2012, 2014, 2015. +# Balázs Úr , 2012, 2013, 2014. +# Kiszel Kristóf , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2017-02-27 23:48+0100\n" +"Last-Translator: Kiszel Kristóf \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nem található kategória: „%1”" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "A(z) %1 nem nyitható meg" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "A megadott alkalmazás közvetlen megnyitása a csomagnév szerint." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Megnyitás a megadott MIME-típust kezelni képes programmal." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Bejegyzések listájának megjelenítése kategóriával." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"A Discover megnyitása biztonságos módban. A módoknak az eszköztár gombjai " +"felelnek meg." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Az összes elérhető mód listázása." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt mód (automatikus/kompakt/teljes)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Helyi csomagfájlok telepítése" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Az összes elérhető háttérprogram listázása." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Az appstream: url séma támogatása" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Felfedezés" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Egy alkalmazásfelfedező" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© A Plasma fejlesztői, 2010-2016." + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Elérhető háttérprogramok:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Elérhető módok:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Bővítmények" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Változtatások alkalmazása" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Eldobás" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Több…" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Bővítmények" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Mégsem" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Értékelés" +msgstr[1] "Értékelés" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Források" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Vélemények" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "További megjegyzések (%1)…" +msgstr[1] "További megjegyzések (%1)…" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Küldés" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Verzió: %1" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Méret: %1" + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Források" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "License: %1" +msgid "License:" +msgstr "Licenc: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Honlap: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Keresés: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Név" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Értékelés" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Méret: %1" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Installing..." +msgid "Still looking..." +msgstr "Telepítés…" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "A root felhasználóként futtatás nem javasolt és szükségtelen." + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Keresés…" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Telepített" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Should check for updates" +msgid "Checking for updates..." +msgstr "Frissítések keresése szükséges" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Nincsenek frissítések" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Frissítés (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Beállítások" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Rövid összegzés…" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Nem lehet bezárni az alkalmazás, még vannak befejezendő feladatok." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nem található erőforrás: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Telepítés" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Eltávolítás" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Betöltés…" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Erőforrások ehhez: „%1”" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Bővítmények…" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Feladatok (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Feladatok" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Meséljen erről a véleményről!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 / %2 ember hasznosnak találta ezt a véleményt" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1, szerző: %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Megjegyzések" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Hasznos? Igen/Nem" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Useful? Igen/Nem" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Hasznos? IgenNem" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "A(z) „%1” értékelése" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Értékelés:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Vélemény" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Frissítés…" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Küldés" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Vélemény" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Keresés…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Keresés itt: „%1”…" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Forrás hozzáadása" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Eredet törlése" + +#: discover/qml/SourcesPage.qml:205 +#, fuzzy, kde-format +#| msgid "Unable to find resource: %1" +msgid "Failed to remove the source '%1'" +msgstr "Nem található erőforrás: %1" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Frissítések" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Kijelöltek frissítése" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Összes frissítése" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "frissítés kijelölve" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "frissítés nincs kijelölve" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Frissítés…" + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Should check for updates" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Frissítések keresése szükséges" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Frissítés…" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Frissítések letöltése" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Frissítések" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "A rendszer naprakész" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Nincsenek frissítések" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Nincsenek elérhető frissítések" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Frissítések keresése szükséges" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "A frissítések utolsó keresésének időpontja ismeretlen" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/hu/plasma_applet_org.kde.discovernotifier.po b/po/hu/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..29c490f --- /dev/null +++ b/po/hu/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Kristóf Kiszel , 2014. +# Kiszel Kristóf , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2017-02-12 13:23+0100\n" +"Last-Translator: Kiszel Kristóf \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Frissítések megjelenítése…" + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Elindítja a frissítéskezelőt" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Frissítések megjelenítése…" \ No newline at end of file diff --git a/po/ia/libdiscover.po b/po/ia/libdiscover.po new file mode 100644 index 0000000..45eb779 --- /dev/null +++ b/po/ia/libdiscover.po @@ -0,0 +1,1556 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2017. +# giovanni , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-01-31 23:24+0100\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Applicationes" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilitate" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Cribrar" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Developpamento Web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Education" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ingenieria" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingenieria" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematica" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocos" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jocos de Tabula" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jocos de Cartas" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sports" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Applicationes" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graphiches" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicante" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Spectatores" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Conversation in directo" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Posta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Officio" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Systema & Preferentias" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonts" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "ficte" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "ficte 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "ficte 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "ficte 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "ficte 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Incognite" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Incognite" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Foras de Memoria" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operation non supportate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Error Interne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "File non trovate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Error Incognite %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Expectante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configura..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Processante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Remove" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Discargante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Il es actualisante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Nettante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Terminate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Cancellate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Expectante autorisation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Stato incognite" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Stato incognite %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Essayante" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Updates:" +msgid "Offline Updates" +msgstr "Actualisationes:" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Available" +msgid "Upgrade available" +msgstr "Disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Re-starta:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Venditor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponibile" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installate" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Updates:" +msgid "Update" +msgstr "Actualisationes:" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Initiante" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Expectante" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Discargante" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installante" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Removente" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Facite" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancellate" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" \ No newline at end of file diff --git a/po/ia/plasma-discover-notifier.po b/po/ia/plasma-discover-notifier.po new file mode 100644 index 0000000..709c8b4 --- /dev/null +++ b/po/ia/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# giovanni , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2017-02-02 23:40+0100\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Actualisationes de securitate disponibile" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Actualisationes disponibile" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systema actualisate" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pacchetto de actualisar" +msgstr[1] "%1 pacchettos de actualisar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pacchetto de actualisar" +msgstr[1] "%1 pacchettos de actualisar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 actualisation de securitate" +msgstr[1] "%1 actualisationes de securitate" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Necun pacchetto de actualisar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/ia/plasma-discover.po b/po/ia/plasma-discover.po new file mode 100644 index 0000000..c16cbfe --- /dev/null +++ b/po/ia/plasma-discover.po @@ -0,0 +1,661 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2016-02-02 14:08+0100\n" +"Last-Translator: Giovanni Sora \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, fuzzy, kde-format +msgid "Apply Changes" +msgstr "Applica le modificationes" + +#: discover/qml/AddonsView.qml:80 +#, fuzzy, kde-format +msgid "Discard" +msgstr "Aban&dona" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Evalutation: %1%" +msgstr[1] "Evalutation: %1%" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Revisiones" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Revisiones" +msgstr[1] "Revisiones" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +msgid "Size:" +msgstr "Dimension" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +msgid "License:" +msgstr "Licentia; %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +msgid "Homepage:" +msgstr "Pagina Domo o Principal" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "Cerca..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nomine" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +msgid "Rating" +msgstr "Evalutation: %1%" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +msgid "Size" +msgstr "Dimension" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +msgid "Still looking..." +msgstr "Il es installante" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Cerca..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installate" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Actualisa" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualisa" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installa" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remove" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Cargante..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +msgid "Tasks (%1%)" +msgstr "Actualisa" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing '%1'" +msgstr "Revisiones" + +#: discover/qml/ReviewDialog.qml:22 +#, fuzzy, kde-format +msgid "Rating:" +msgstr "Evalutation: %1%" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Revisiones" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Cargante..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Revisiones" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:31 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "Cerca..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Actualisa" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update All" +msgstr "Actualisa" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Cargante..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Actualisa" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "Cargante..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Actualisa" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Actualisa" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Actualisa" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/ia/plasma_applet_org.kde.discovernotifier.po b/po/ia/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..2781e5d --- /dev/null +++ b/po/ia/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,39 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# giovanni , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2017-01-31 23:42+0100\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "Update" +msgid "View Updates" +msgstr "Actualisa" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "" \ No newline at end of file diff --git a/po/id/libdiscover.po b/po/id/libdiscover.po new file mode 100644 index 0000000..133ad7a --- /dev/null +++ b/po/id/libdiscover.po @@ -0,0 +1,1578 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# wantoyo , 2014. +# Wantoyo , 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: KDE Frameworks 5 Applications\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-10-18 07:24+0700\n" +"Last-Translator: Wantoyo \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplikasi" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Aksesoris" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Aksesibilitas" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Peralatan Pengembang" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Pendebugan" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Grafis Desain Antarmuka" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Pelokalan" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Perprofilan" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Pengembangan Web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Pendidikan" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ilmu Pengetahuan dan Rancang-bangun" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Ilmu Perbintangan" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Ilmu Kimia" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Ilmu Pengetahuan Komputer dan Robotik" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Rancang-bangun" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Game" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Game Papan" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Game Kartu" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Teka-teki" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Bermain Peran" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulasi" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Olah raga" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Aksi" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulator" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Menggambar" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Melukis dan Mengedit" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografi" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Menerbitkan" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Pemindaian dan OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Pirsawan" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Obrolan" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Berbagi File" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Mail" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Penelusur Web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Pengeditan Video dan Audio" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Player Audio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Player Video" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD dan DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Perkantoran" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistem dan Setelan" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Pernik Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgets Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonta" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Kategori Dumi" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dumi" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "pernik dumi" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dumi 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dumi dengan hal" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "dumi 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dumi dengan beberapa hal" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dumi 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dumi 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Bundel lokal" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Url appstream yang rusak '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Tak diketahui" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Mengambil informasi ukuran" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Ukuran tak diketahui" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 unduh, %2 pada disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 pada disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Tambahkan Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Tidak dapat menambahkan sumber %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI repositori Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Setujui EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"%1 jarak jauh memerlukan persetujuanmu atas lisensinya:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Backend %1 tidak absah, hubungi distibutormu." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Pernik Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Pernik Aplikasi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI KNewStuff yang salah: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Gunakan" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Log informasi untuk %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Silakan pastikan Appstream telah disiapkan dengan benar pada sistemmu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Kehabisan memori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Tiada koneksi jaringan yang tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operasi tidak didukung" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Galat internal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Kegagalan GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "ID paket tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paket tidak terpasang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paket Tidak Ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paket siap untuk dipasang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Unduh paket gagal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Kelompok paket tidak ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Daftar kelompok paket tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Gagal pemberesan ketergantungan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filter tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Gagal saat menciptakan tapak" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Kegagalan transaksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaksi dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Tiada Cache yang tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Tak bisa menemukan repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Tak bisa mencopot paket sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Daemon PackageKit telah mogok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Kegagalan inisialisasi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Gagal menyelesaikan transaksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Mengurai konfig gagal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Tak bisa membatalkan transaksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Tak bisa merengkuh kunci" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Tiada paket-paket untuk diupdate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Tak bisa menulis config repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Pemasangan lokal gagal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Ditemukan tandatangan GPG buruk" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Tiada tandatangan GPG yang ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Tak bisa memasang paket sumber" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Galat konfigurasi repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Tiada persetujuan lisensi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Ditemukan file bentrok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Ditemukan paket bentrok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repo tidak tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "File paket tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Pemasangan paket terhalang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Ditemukan paket korup" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Semua paket siap dipasang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "File tidak ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Tiada lagi cermin tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Tiada data upgrade distro" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arsitektur tidak kompatibel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Tiada ruang pada perangkat yang tersisa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Sebuah perubahan media diperlukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Anda tidak memiliki otorisasi untuk melakukan operasi ini" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Update tidak ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Tak bisa memasang dari repo yang tanpa ditandatangani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Tak bisa mengupdate dari repo yang tanpa ditandatangani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Tak bisa mendapatkan daftar file " + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Tak bisa mendapatkan yang dibutuhkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Tak bisa menonaktifkan repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Pembatasan unduh terdeteksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Paket gagal untuk dikonfigurasi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Gagal membangun paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Gagal memasang paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Paket gagal dicopot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Update gagal karena menjalankan proses" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Database paket diubah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Jenis yang tersedia tidak didukung" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Pasang root tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Tak bisa menarik sumber" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Prioritas dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transaksi tidak terselesaikan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Kunci diperlukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Galat %1tak diketahui." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' telah diubah dan menyarankan harus dijalankan ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" +"Sebuah perubahan menurut '%1' menunjukkan sesi anda akan dijalankan ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' telah diupdate untuk alasan keamanan, sebuah jalankan ulang sesi " +"dianjurkan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' telah diupdate untuk alasan keamanan, sebuah jalankan ulang sistem " +"dianjurkan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" +"Sebuah perubahan menurut '%1' menunjukkan sistem anda akan diboot ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplikasi diharuskan untuk dimulai ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesi diharuskan untuk dimulai ulang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Sistem diharuskan untuk diboot ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Untuk keamanan, sesi diharuskan untuk dimulai ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Untuk keamanan, sistem diharuskan untuk dimulai ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Menunggu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Menyegarkan Cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Persiapan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Memroses..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Copot..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Mengunduh..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Memasang..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Membarui..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Memperbersihkan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Penanggulangan ketergantungan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Mengecek tandatangan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Melakukan uji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Melakukan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Selesai" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Menunggu kunci..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Menunggu otorisasi..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Menyalin file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Status Tidak Diketahui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Kami sedang menunggu sesuatu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Persiapan transaksi ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaksi saat ini sedang mengerjakan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaksi saat ini sedang mencopot paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaksi saat ini sedang mengunduh paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaksi saat ini sedang memasang paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaksi saat ini sedang memperbarui paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaksi saat ini sedang memperbersihkan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transaksi saat ini sedang menanggulangi ketergantungan paket yang akan " +"dipasang..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transaksi saat ini sedang memeriksa tandatanganan paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Transaksi saat ini sedang menguji komit dari himpunan paket-paket ini..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transaksi saat ini sedang mengkomit himpunannya paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaksi terselesaikan!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaksi dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaksi saat ini sedang menunggu kunci..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Menunggu pengguna untuk otorisasi transaksi..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaksi saat ini sedang menyalin file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Saat ini sedang menyegarkan cache repositori..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Status %1 tak diketahui." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Tak Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Pengujian" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Update Luring" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Gagal mengupdate %1 paket\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Sukses mengupdate %1 paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Tersedia upgrade" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Versi tak stabil baru: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Versi baru: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versi Saat Ini:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Usang:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Versi Baru:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Keadaan Update:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Mulai ulang:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Vendor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 ketergantungan)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL repositori:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paket untuk dicopot" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Paket-paket berikut ini akan dicopot oleh karena update:\n" +"
    • %1
    \n" +"agar dapat memasang:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Silakan restart komputer untuk menyelesaikan pemasangan" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Perubahan Media dari jenis '%1' telah diminta.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paket %1 dan vendor-nya %2 mewajibkan anda untuk menyetujui lisensi mereka:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Tandatangan hilang untuk %1 dalam %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Apakah kamu percaya kunci berikut ini?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Konfirmasi pencopotan paket" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Tindakan ini juga akan mencopot paket-paket berikut ini:\n" +"%2" + +# Name +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Aplikasi snap ini memerlukan langkah-langkah pengamanan keamanan yang " +"dinonaktifkan." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Cantumkan semua backend yang ingin kami muatkan, dipisahkan dengan koma ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Rusak" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Tersedia" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Terpasang" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Dapat diupgrade" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Luncurkan" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Periksa Update" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Update" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/d" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Memulai" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Menunggu" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Mengunduh" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Memasang" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Mencopot" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Perubahan Pernik" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Selesai" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Gagal" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Dibatalkan" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Update Aplikasi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Update Sistem" \ No newline at end of file diff --git a/po/id/plasma-discover-notifier.po b/po/id/plasma-discover-notifier.po new file mode 100644 index 0000000..d44cfca --- /dev/null +++ b/po/id/plasma-discover-notifier.po @@ -0,0 +1,91 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Wantoyo , 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-10-27 06:39+0700\n" +"Last-Translator: Wantoyo \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Update" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Tersedia update keamanan" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Tersedia update" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistem terupdate" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Komputer butuh direstart" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paket untuk diupdate" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "yang %1 adalah update keamanan" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paket untuk diupdate" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 update keamanan" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Tiada paket untuk diupdate" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Restart telah diperlukan" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Sistem butuh direstart supaya update berpengaruh." \ No newline at end of file diff --git a/po/id/plasma-discover.po b/po/id/plasma-discover.po new file mode 100644 index 0000000..d438ca9 --- /dev/null +++ b/po/id/plasma-discover.po @@ -0,0 +1,650 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# wantoyo , 2014. +# Wantoyo , 2016, 2017, 2018. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: KDE Frameworks 5 Applications\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-18 07:28+0700\n" +"Last-Translator: Wantoyo \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Tidak bisa menemukan kategori '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Tak bisa berinteraksi dengan sumberdaya flatpak tanpa backend flatpak %1. " +"Silakan memasangnya terlebih dahulu." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Tak mampu membuka %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" +"Secara langsung buka aplikasi yang ditentukan berdasarkan nama paketnya." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" +"Buka dengan program yang dapat menghadapi karena mimetype yang diberikan." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Tampilan sebuah daftar dari entri-entri dengan sebuah kategori." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Buka Discover dalam mode tersebut. Mode-mode sesuai dengan tombol bilah-alat." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Daftar semua mode-mode yang tersedia." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode Ringkas (auto/ringkas/penuh)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "File paket lokal untuk dipasang" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Daftar semua backend yang tersedia." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Dukungan appstream: skema url" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Sebuah penjelajah aplikasi" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Tim Pengembang Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Backend yang tersedia:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Mode-mode yang tersedia:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Addon" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Terapkan Perubahan" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Buang" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Selebihnya..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Tambahkan repositori baru %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Tambah" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Batal" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 peringkat" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Belum ada peringkat" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Sumber" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Apa Yang Baru" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Ulasan" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Tampilkan semua %1 ulasan..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Tulislah sebuah ulasan!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Jadilah yang pertama menulis sebuah ulasan!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Pasanglah apl ini dan tulislah sebuah ulasan!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Pasanglah apl ini dan jadilah yang pertama menulis sebuah ulasan!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategori:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versi:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, dirilis pada %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Ukuran:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Sumber:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lisensi:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Laman:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Panduan Penggunaan:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donasi:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Laporkan Masalah:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Urutkan: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nama" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Peringkat" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Ukuran" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Tanggal Rilis" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Maaf, tidak menemukan apa pun..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Sedang mencari..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Berfitur" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Berjalan sebagai root adalah ngeri dan tidak perlu." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Cari..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Terpasang" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Memeriksa update..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Tiada Update" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "(%1) update" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Setelan" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Maaf..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Tidak dapat menutup aplikasi, ada tugas-tugas yang perlu dikelarkan." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Tak dapat menemukan sumberdaya: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Teruskan" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Pasang" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Copot" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Memuat..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Sumberdaya untuk '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Ekstensi2..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tugas (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tugas" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Beritahu kami tentang ulasan ini!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 dari %2 orang berpendapat bahwa ulasan ini bermanfaat" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "pengulas tak diketahui" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 menurut %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Komentar menurut %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Bermanfaat? Ya/Tidak" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Bermanfaat? Ya/Tidak" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Bermanfaat? Ya/Tidak" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Mengulas '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Peringkat:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nama penyampaian: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Judul:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Ulasan:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Masukkan peringkat" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Tuliskan judul" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Tetap menulis..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Terlalu panjang!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Sampaikan ulasan" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Ulasan..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Cari..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cari di '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Baku)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Jadikan baku" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Tambahkan Sumber..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Gagal meningkatkan preferensi '%1'" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Gagal menurunkan preferensi '%1'" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Hapus asal" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Gagal mencopot sumber '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Backend Terselip" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Update" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Update Terpilih" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Update Semua" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "update yang dipilih" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "update yang tidak dipilih" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Informasi Selebihnya..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Mengambil..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Mencari update" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Mengupdate..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Mengambil update" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Update" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Sistem sudah terupdate." + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Tiada update" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Tiada update yang tersedia" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Mesti periksa update" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Tidak diketahui kapan pemeriksaan terakhir updatenya" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Salin alamat tautan" \ No newline at end of file diff --git a/po/id/plasma_applet_org.kde.discovernotifier.po b/po/id/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..3dc1c56 --- /dev/null +++ b/po/id/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,39 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Wantoyo , 2016, 2017, 2018. +# +# wantoyo, 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-08-03 06:55+0700\n" +"Last-Translator: wantoyo \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Tampilan Update" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Meluncurkan Discover untuk meng-update software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Buka Pusat Perangkat Lunak..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Lihat Update..." \ No newline at end of file diff --git a/po/it/libdiscover.po b/po/it/libdiscover.po new file mode 100644 index 0000000..268965c --- /dev/null +++ b/po/it/libdiscover.po @@ -0,0 +1,1577 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the libmuon package. +# Valter Mura , 2010, 2011, 2012, 2013, 2014, 2015. +# Vincenzo Reale , 2016, 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-06 20:29+0100\n" +"Last-Translator: Vincenzo Reale \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 18.12.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Applicazioni" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessori" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilità" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Strumenti di sviluppo" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Debug" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Progettazione interfaccia grafica" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localizzazione" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilatura" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Sviluppo web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Istruzione" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Scienza e ingegneria" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimica" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informatica e robotica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elettronica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingegneria" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematica" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisica" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Giochi" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Giochi da tavolo" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Giochi di carte" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Giochi di ruolo" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulazione" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Azione" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatori" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafica" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Disegno" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pittura e pubblicazioni" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Editoria" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scansione e OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualizzatori" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Condivisione file" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Posta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Browser web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editor audio e video" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Lettori audio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Lettori video" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD e DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ufficio" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistema e impostazioni" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Aggiunte di Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Oggetti di Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Caratteri" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria fittizia" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "fittizio" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "aggiunte fittizie" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "fittizio 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "fittizio con cose" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "fittizio 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "fittizio con qualche cosa" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "fittizio 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "fittizio 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Pacchetto locale" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL di appstream «%1» non corretto" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Sconosciuta" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Recupero delle informazioni sulle dimensioni" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Dimensione sconosciuta" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 da scaricare, %2 sul disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 sul disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Aggiungi Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Impossibile aggiungere la fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI del deposito Flatpak (* .flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Accetta EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Il pacchetto %1 richiede l'accettazione della licenza:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Motore %1 non valido, contatta il tuo distributore." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Aggiunte di Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Aggiunte delle applicazioni" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI di KNewStuff errato: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Usa" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informazioni di accesso per %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Assicurati che Appstream sia configurato correttamente sul tuo sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Memoria esaurita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nessuna connessione di rete disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operazione non supportata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Errore interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Errore GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "ID del pacchetto non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pacchetto non installato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Pacchetto non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Il pacchetto è già installato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Scaricamento del pacchetto non riuscito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Gruppo di pacchetti non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Elenco del gruppo dei pacchetti non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Risoluzione della dipendenza non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Errore durante la creazione di un thread" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Errore di transazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transazione annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Nessuna cache disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Impossibile trovare il deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Impossibile rimuovere il pacchetto di sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Il demone PackageKit si è bloccato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Errore di inizializzazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Finalizzazione della transazione non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Analisi della configurazione non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Impossibile annullare la transazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Impossibile ottenere il blocco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Nessun pacchetto da aggiornare" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Impossibile scrivere la configurazione del deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Installazione locale non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "È stata trovata una firma GPG non valida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Non è stata trovata alcuna firma GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Impossibile installare il pacchetto sorgente" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Errore di configurazione del deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Nessuna accettazione della licenza" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Trovati conflitti tra file" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Trovato conflitto tra pacchetti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Deposito non disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "File del pacchetto non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Installazione del pacchetto bloccata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Trovato pacchetto danneggiato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Tutti i pacchetti sono già installati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "File non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Non esistono più server mirror disponibili" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Non sono presenti dati per l'aggiornamento della distribuzione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Architettura incompatibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Non c'è spazio sul dispositivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "È necessario un cambio di supporto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Non possiedi le autorizzazioni per eseguire questa operazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Aggiornamento non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Impossibile installare da un deposito non firmato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Impossibile aggiornare da un deposito non firmato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Impossibile scaricare l'elenco dei file" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Impossibile ottenere i requisiti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Impossibile disabilitare il deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Rilevato uno scaricamento limitato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Configurazione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Costruzione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Installazione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Rimozione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Aggiornamento non riuscito a causa di un processo in esecuzione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Il database dei pacchetti è stato modificato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Il tipo di dipendenza soddisfatta non è supportata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Il percorso radice di installazione non è valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Impossibile recuperare le fonti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Priorità annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transazione non terminata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Blocco richiesto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Errore sconosciuto %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» è stato modificato e suggerisce il proprio riavvio." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Una modifica a «%1» suggerisce un riavvio di sessione." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» è stato aggiornato per motivi di sicurezza, è raccomandato un riavvio " +"della sessione." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» è stato aggiornato per motivi di sicurezza, è raccomandato un riavvio " +"del sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Una modifica a «%1» suggerisce un riavvio del sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'applicazione dovrà essere riavviata." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La sessione dovrà essere riavviata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Il sistema dovrà essere riavviato." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Per ragioni di sicurezza, la sessione dovrà essere riavviata." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Per ragioni di sicurezza, il sistema dovrà essere riavviato." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "In attesa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Aggiornamento della cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configurazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Elaborazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Rimozione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Scaricamento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Aggiornamento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Pulizia..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Risoluzione delle dipendenze..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Controllo delle firme..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Analisi del commit..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Commit..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Terminato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "In attesa del lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "In attesa di autorizzazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Copia dei file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Stato sconosciuto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Siamo in attesa di qualcosa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Sto configurando la transazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "La transazione è attualmente in esecuzione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "La transazione sta rimuovendo i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "La transazione sta scaricando i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "La transazione sta installando i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "La transazione sta aggiornando i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "La transazione sta eseguendo la ripulitura..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"La transazione sta risolvendo le dipendenze dei pacchetti da installare..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "La transazione sta controllando le firme dei pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"La transazione sta analizzando il commit di questo gruppo di pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "La transazione sta eseguendo il commit del gruppo di pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transazione è terminata." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "La transazione è stata annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "La transazione sta aspettando il lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "In attesa dell'utente per autorizzare la transazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "La transazione sta copiando i file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Sto aggiornando la cache del deposito..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Stato sconosciuto %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Di prova" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Aggiornamenti non in linea" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Aggiornamento di %1 pacchetti non riuscito\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 pacchetti aggiornati correttamente" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Aggiornamento disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nuova versione non stabile: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nuova versione: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versione attuale:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsoleti:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nuova versione:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Stato aggiornamento:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Riavvia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Fornitore:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (più %1 dipendenza)" +msgstr[1] "%2 (più %1 dipendenze)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL del deposito:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pacchetti da rimuovere" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"I seguenti pacchetti saranno rimossi dall'aggiornamento:\n" +"
    • %1
    per installare:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Riavvia il computer per terminare l'installazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"È richiesto un cambio di supporto di tipo «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Il pacchetto %1 e il suo venditore %2 richiedono l'accettazione della " +"licenza:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Firma mancante per %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Ti fidi della chiave seguente?\n" +"\n" +"Url: %1\n" +"Utente: %2\n" +"Chiave: %3\n" +"Impronta digitale: %4\n" +"Marca temporale: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Conferma la rimozione del pacchetto" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Questa azione rimuoverà anche il pacchetto seguente:\n" +"%2" +msgstr[1] "" +"Questa azione rimuoverà anche i pacchetti seguenti:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Questa applicazione snap richiede che le misure di confinamento di sicurezza " +"siano disabilitate." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Elenca tutti i motori che desideriamo caricare, separati da virgola «,»." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Danneggiato" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponibile" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installato" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Aggiornabile" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Esegui" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Controlla aggiornamenti" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Aggiorna" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Avvio" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "In attesa" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Scaricamento" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installazione" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Rimozione" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Modifica delle aggiunte" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fatto" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Non riuscito" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Annullato" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aggiornamenti applicazioni" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Aggiornamenti di sistema" \ No newline at end of file diff --git a/po/it/plasma-discover-notifier.po b/po/it/plasma-discover-notifier.po new file mode 100644 index 0000000..cfc849b --- /dev/null +++ b/po/it/plasma-discover-notifier.po @@ -0,0 +1,97 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the muon package. +# Vincenzo Reale , 2015. +# Paolo Zamponi , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-20 15:26+0100\n" +"Last-Translator: Paolo Zamponi \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Aggiornamento" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Aggiornamenti di sicurezza disponibili" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Aggiornamenti disponibili" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema aggiornato" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Il computer deve essere riavviato" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "Un pacchetto da aggiornare" +msgstr[1] "%1 pacchetti da aggiornare" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "di cui un aggiornamento di sicurezza" +msgstr[1] "di cui %1 aggiornamenti di sicurezza" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "Un pacchetto da aggiornare" +msgstr[1] "%1 pacchetti da aggiornare" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "Un aggiornamento di sicurezza" +msgstr[1] "%1 aggiornamenti di sicurezza" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Nessun pacchetto da aggiornare" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "È necessario un riavvio" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Il sistema deve essere riavviato affinché gli aggiornamenti abbiano effetto." \ No newline at end of file diff --git a/po/it/plasma-discover.po b/po/it/plasma-discover.po new file mode 100644 index 0000000..8e99689 --- /dev/null +++ b/po/it/plasma-discover.po @@ -0,0 +1,650 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Valter Mura , 2012, 2013, 2014, 2015. +# Vincenzo Reale , 2016, 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-24 20:44+0100\n" +"Last-Translator: Vincenzo Reale \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 18.12.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Impossibile trovare la categoria «%1»" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Impossibile interagire con le risorse flatpak senza il motore flatpak %1. " +"Installalo prima." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Impossibile aprire %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Apri direttamente l'applicazione selezionata per nome del pacchetto." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Apri con un programma in grado di gestire il tipo mime indicato." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra un elenco di voci con una categoria." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Apri Discover in uno dei modi indicati. I modi corrispondono ai pulsanti " +"della barra degli strumenti." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Elenca tutti i modi disponibili." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modalità compatta (auto/compatta/completa)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "File di pacchetto locale da installare" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Elenca tutti i motori disponibili." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Supporta appstream: url scheme" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Scopri" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Esploratore di applicazioni" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 La squadra di sviluppo di Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Motori disponibili:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modi disponibili:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Aggiunte" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Applica le modifiche" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Scarta" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Altro..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Aggiungi un nuovo deposito di %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Aggiungi" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Annulla" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valutazione" +msgstr[1] "%1 valutazioni" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Ancora nessuna valutazione" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fonti" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Cosa c'è di nuovo" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Recensioni" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostra %1 recensione..." +msgstr[1] "Mostra tutte le %1 recensioni..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Scrivi una recensione!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Sii il primo a scrivere una recensione!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Installa questa applicazione per scrivere una recensione!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Installa questa applicazione e sii il primo a scrivere una recensione!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versione:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, rilasciata il %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Dimensione:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Fonte:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licenza:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Pagina principale:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guida utente:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Donazione:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Segnala un problema:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Ordina: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Valutazione" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Dimensione" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data di rilascio" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Spiacenti, non è stato trovato niente..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Ricerca ancora in corso..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "In primo piano" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "L'esecuzione come root è sconsigliata e non necessaria." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Cerca" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installato" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Controllo degli aggiornamenti..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Nessun aggiornamento" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aggiornamento (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Impostazioni" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Spiacenti..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Impossibile chiudere l'applicazione, ci sono attività da completare." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Impossibile trovare la risorsa: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Procedi" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installa" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Rimuovi" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Caricamento in corso..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Risorse per «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Estensioni..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Attività (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Attività" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Fai un commento su questa recensione!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 persone su %2 hanno trovato utile questa recensione" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "revisore sconosciuto" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 di %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Commenti di %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utile? Sì/No" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utile? Sì/No" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utile? Sì/No" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Recensione di «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Valutazione:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nome per l'invio: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Titolo:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Recensione:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Inserisci una valutazione" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Scrivi un titolo" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Continua a scrivere..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Troppo lunga!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Invia recensione" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Recensisci..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cerca in «%1»..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predefinito)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Rendi predefinito" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Aggiungi fonte..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Incremento della preferenza «%1» non riuscito" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Riduzione della preferenza «%1» non riuscita" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Elimina l'origine" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Rimozione della fonte non riuscita: «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Motori mancanti" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aggiornamenti" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Aggiorna selezionati" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Aggiorna tutto" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "aggiornamenti selezionati" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "aggiornamenti non selezionati" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Ulteriori informazioni..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Recupero in corso..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Ricerca degli aggiornamenti" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Aggiornamento in corso..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Recupero degli aggiornamenti" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aggiornamenti" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Il sistema è aggiornato" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Nessun aggiornamento" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Non ci sono aggiornamenti disponibili" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Dovresti controllare gli aggiornamenti" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" +"Non è noto quando l'ultima verifica della disponibilità di aggiornamenti sia " +"stata effettuata" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copia indirizzo del collegamento" \ No newline at end of file diff --git a/po/it/plasma_applet_org.kde.discovernotifier.po b/po/it/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..b229006 --- /dev/null +++ b/po/it/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vincenzo Reale , 2014, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-23 20:19+0100\n" +"Last-Translator: Vincenzo Reale \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Visualizza aggiornamenti" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Avvia Discover per aggiornare il programma" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Apri Software Center..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Vedi gli aggiornamenti..." \ No newline at end of file diff --git a/po/ja/libdiscover.po b/po/ja/libdiscover.po new file mode 100644 index 0000000..3436739 --- /dev/null +++ b/po/ja/libdiscover.po @@ -0,0 +1,1541 @@ +msgid "" +msgstr "" +"Project-Id-Version: muon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2010-06-20 00:46-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" \ No newline at end of file diff --git a/po/ja/plasma-discover-notifier.po b/po/ja/plasma-discover-notifier.po new file mode 100644 index 0000000..e3ee328 --- /dev/null +++ b/po/ja/plasma-discover-notifier.po @@ -0,0 +1,92 @@ +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-04-11 00:05-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/ja/plasma-discover.po b/po/ja/plasma-discover.po new file mode 100644 index 0000000..3f92dc9 --- /dev/null +++ b/po/ja/plasma-discover.po @@ -0,0 +1,640 @@ +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2012-04-22 21:55-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/ja/plasma_applet_org.kde.discovernotifier.po b/po/ja/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..5af3bb7 --- /dev/null +++ b/po/ja/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,35 @@ +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2014-10-17 00:23-0700\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "" \ No newline at end of file diff --git a/po/kk/libdiscover.po b/po/kk/libdiscover.po new file mode 100644 index 0000000..3952f17 --- /dev/null +++ b/po/kk/libdiscover.po @@ -0,0 +1,1675 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2013-10-03 04:53+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 1.2\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "Қолданбалар" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Әбзелдер" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Арнайы мүмкіндіктер" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Құрастырушы құралдар" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Жөндеу" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Графикалық интерфейсін жобалау" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Тәржімелеу" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профильдеу" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Веб жобалау" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Оқу-ағарту" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ғылым & Инженерлік іс" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономия" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биология" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Компьютерлік ғылым & Робототехника" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Электроника" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инженерлік іс" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "География" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геология" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Ойындар" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркад ойындар" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Тақта ойындар" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карта ойындар" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Басқатырғыш" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Рөл ойындар" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Иммитация" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спорт" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Қолданбалар" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Иммитация" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "ҰшӨлшемді" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Сурет" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Кескіндеу & Өңдеу" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотография" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Басып шығару" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Сканерлеу & Тану" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Қарау құралдар" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Чат-әңгіме" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Файл ортақтастыру" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Пошта" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб-шолғыш" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мультимедиа" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офис" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Жүйе параметрлері" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Қаріптер" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Беймәлім" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Беймәлім" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 жүктейтіні, %2 дискіде" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 дискіде" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Қолданбалар" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"web\"" +#| msgid "Internet" +msgid "Internal error" +msgstr "Интернет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package download failed" +msgstr "Десте жүктеу тізімін сақтау..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group list invalid" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction failure" +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction canceled" +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Initialization failure" +msgstr "Инициализациялау қатесі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Local install failed" +msgstr "Десте тарихы" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Residual Configuration" +msgid "Repo configuration error" +msgstr "Қалған баптауы" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File conflicts found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package conflict found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Package install blocked" +msgstr "Десте тарихы" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Corrupt package found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Дистрибутивтің жаңартулары" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "Тасушыны ауыстру керек" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Update not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to configure" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to build" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to install" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to remove" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Бұғатталған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "Беймәлім қате" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "Күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"text" +#| "\"" +#| msgid "Word Processing" +msgid "Processing..." +msgstr "Мәтінді өңдеу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Өшіру" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "Жүктелу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Орнату" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "Байланыс" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Аяқталды" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "Аутентификацияны күтіп тұр" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "Беймәлім" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, fuzzy, kde-format +#| msgid "Setting up for install..." +msgid "Setting up transaction..." +msgstr "Орнатуға ыңғайлау..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction has finished!" +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction was canceled" +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Waiting for the user to authorize the transaction..." +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "Беймәлім" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Орнатылған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Қолданбалар" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"%1 дегенді жүктеу жаңылысы:\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "гЖаңартылмақ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "%1 нұсқасы" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "%1 нұсқасы" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "%1 нұсқасы" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Packages to remove" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "This action requires a change to another package:" +#| msgid_plural "This action requires changes to other packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Бұл амал басқа дестелерде өзгеріст(ерд)і қажет етеді:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Бүлінген" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Бар" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Орнатылған" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "гЖаңартылмақ" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Жаңартуы бар ма тексеру" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Жаңартулар" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Бастау" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Күту" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Жүктелу" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Орнату" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Өшіру" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Қосымшаларды өзгерту" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Дайын" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Қолданбалар" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Жаңартулар" \ No newline at end of file diff --git a/po/kk/plasma-discover.po b/po/kk/plasma-discover.po new file mode 100644 index 0000000..a7f0914 --- /dev/null +++ b/po/kk/plasma-discover.po @@ -0,0 +1,682 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sairan Kikkarin , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2013-10-03 05:07+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Десте атауы бойынша келтірілген қолданбаны тікелей ашу." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Көрсеткен MIME түрінмен айналасатын бағдарламен ашу." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Бір санатына жататын аталым тізімінін қорсету." + +#: discover/main.cpp:48 +#, fuzzy, kde-format +#| msgid "" +#| "Open Muon Discover in a said mode. Modes correspond to the toolbar " +#| "buttons." +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Muon тапқышын аталған режімде ашу. Режім атаулары аспаптар батырмаларына " +"сәйкесті." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Қол жеткізер режімдер тізімі." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Қол жеткізер орындағыштар тізімі." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Табу" + +#: discover/main.cpp:96 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "Қолданба тапқышы" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Бар режімдері:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Бар режімдері:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Тастау" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "Қосымшалар" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Қайту" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Ұпайы" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Көздері" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Пікірлер" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "%1 reviews" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 пікір" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Жіберу" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size:" +msgstr "Жалпы өлшемі: %1
    " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Көздері" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "ұпайы: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage" +msgid "Homepage:" +msgstr "Мекен-парағы" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "'%1' дегенде іздеу..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Атауы" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Ұпайы" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size" +msgstr "Жалпы өлшемі: %1
    " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Орнату" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Іздеу..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Орнатылған" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Жаңарту" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "Жаңарту" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Жаңарту" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Жоғары бағалары" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Орнату" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Өшіру" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Жүктеу..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Жаңарту" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Осы пікірге көзқарасыңызды білдіріңіз!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2 адамдан %1 бұл пікірді пайдалы деп тапты" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Пайдалы ма? Иә/Жоқ" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Пайдалы ма? Иә/Жоқ" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Пайдалы ма? Иә/Жоқ" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing '%1'" +msgstr "%1 туралы пікір" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Ұпайы:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Пікір" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Жүктеу..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Жіберу" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Пікір" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Іздеу..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1' дегенде іздеу..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Көзін қосу" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Бүкілін жаңарту" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Бүкілін жаңарту" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Жүктеу..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "Жүктеу..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/ko/libdiscover.po b/po/ko/libdiscover.po new file mode 100644 index 0000000..04cc6be --- /dev/null +++ b/po/ko/libdiscover.po @@ -0,0 +1,1567 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Shinjo Park , 2015, 2016, 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-14 14:59+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "프로그램" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "보조 프로그램" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "접근성" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "개발 도구" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "디버깅" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "그래픽 인터페이스 디자인" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "통합 개발 환경" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "지역화" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "프로파일링" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "웹 개발" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "교육" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "과학과 공학" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "천문학" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "생물학" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "화학" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "전산학과 로보틱스" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "전자 공학" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "공학" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "지리" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "지질학" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "수학" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "물리학" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "게임" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "아케이드" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "보드 게임" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "카드 게임" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "퍼즐" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "롤 플레잉" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "시뮬레이션" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "전략" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "스포츠" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "액션" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "에뮬레이터" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "그래픽" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "그리기" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "페인팅과 편집" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "사진" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "출판" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "스캔과 OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "뷰어" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "인터넷" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "채팅" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "파일 공유" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "메일" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "웹 브라우저" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "멀티미디어" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "오디오 및 비디오 편집기" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "오디오 재생기" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "비디오 재생기" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD 및 DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "사무용 도구" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "시스템 설정" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma 부가 기능" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma 위젯" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "글꼴" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "더미 분류" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "더미" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "더미 부가 기능" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "더미 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "무언가 들어있는 더미" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "더미 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "무언가 더 들어있는 더미" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "더미 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "더미 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "로컬 번들" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "잘못된 AppStream URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "알 수 없음" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "크기 정보 가져오는 중" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "알 수 없는 크기" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "다운로드 크기 %1, 설치 크기 %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "설치 크기 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub 추가" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "원본 %1을(를) 추가할 수 없음" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak 저장소 URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "EULA 수락" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"원격 %1에서 다음 라이선스를 받아들일 것을 요청했습니다:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "%1 백엔드가 잘못되었습니다. 배포판에 문의하십시오." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma 부가 기능" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "프로그램 부가 기능" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "잘못된 KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "사용" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "%1의 로그인 정보" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "시스템에 Appstream이 올바르게 설정되어 있는지 확인하십시오" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "메모리 부족" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "네트워크 연결 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "지원하지 않는 동작" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "내부 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "패키지가 설치되지 않음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "패키지를 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "패키지가 이미 설치됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "패키지 다운로드 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "패키지 그룹을 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "패키지 그룹 목록이 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "의존성 해결 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "필터가 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "스레드 생성 중 오류 발생" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "트랜잭션 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "트랜잭션 취소됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "캐시를 사용할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "저장소를 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "시스템 패키지를 삭제할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit 데몬이 충돌함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "초기화 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "트랜잭션을 마무리지을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "설정 파일 처리 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "트랜잭션을 취소할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "잠금을 얻을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "업데이트할 패키지 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "저장소 설정을 기록할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "로컬 설치 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "잘못된 GPG 서명 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "GPG 서명을 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "소스 패키지를 설치할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "저장소 설정 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "라이선스 조항 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "파일 충돌 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "패키지 충돌 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "저장소를 사용할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "잘못된 패키지 파일" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "패키지 설치 차단됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "잘못된 패키지 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "모든 패키지가 이미 설치됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "파일을 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "사용 가능한 미러 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "배포판 업그레이드 데이터 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "호환되지 않는 아키텍처" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "장치에 공간이 부족함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "미디어 변경 필요함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "이 작업을 수행할 권한이 없습니다" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "업데이트를 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "서명되지 않은 저장소에서 설치할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "서명되지 않은 저장소에서 업데이트할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "파일 목록을 가져올 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "필요한 항목을 가져올 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "저장소를 비활성화할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "제한된 다운로드 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "패키지를 설정할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "패키지를 빌드할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "패키지를 설치할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "패키지를 삭제할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "실행 중인 프로세스 때문에 업데이트할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "패키지 데이터베이스가 변경됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "지정한 형식을 지원하지 않음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "설치 루트 경로가 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "원본을 가져올 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "취소된 우선 작업" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "완료되지 않은 트랜잭션" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "잠금 필요함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "알 수 없는 오류 %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1'이(가) 변경되었으며 다시 시작하는 것을 추천합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "'%1'의 변경 사항으로 인하여 세션을 다시 시작하는 것을 추천합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1'이(가) 보안을 이유로 업데이트되었으며, 세션을 다시 시작하는 것을 추천합니" +"다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1'이(가) 보안을 이유로 업데이트되었으며, 시스템을 다시 시작하는 것을 추천합" +"니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "'%1'의 변경 사항으로 인하여 시스템을 다시 시작하는 것을 추천합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "프로그램을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "세션을 다시 시작해야 합니다" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "시스템을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "보안을 위하여 세션을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "보안을 위하여 시스템을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "캐시 새로 고치는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "설정 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "처리 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "삭제 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "다운로드 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "설치 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "업데이트 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "청소 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "의존성 확인 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "서명 확인 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "테스트 커밋 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "커밋 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "완료됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "취소됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "잠금 대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "인증 대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "파일 복사 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "알 수 없는 상태" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "무언가를 기다리고 있습니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "트랜잭션 설정 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "트랜잭션 작업 중입니다..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "트랜잭션에서 패키지를 삭제하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "트랜잭션에서 패키지를 다운로드하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "트랜잭션에서 패키지를 설치하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "트랜잭션에서 패키지를 업데이트하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "트랜잭션에서 청소하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "트랜잭션에서 설치할 패키지의 의존성을 파악하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "트랜잭션에서 패키지 서명을 확인하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "트랜잭션에서 현재 패키지 집합 커밋 테스트 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "트랜잭션에서 패키지 집합을 커밋하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "트랜잭션이 완료되었습니다!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "트랜잭션 취소됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "트랜잭션에서 잠금 대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "사용자가 트랜잭션을 인증하는 것을 기다리는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "트랜잭션에서 파일 복사 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "저장소 캐시 새로 고치는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "알 수 없는 상태 %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "안정 버전" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "불안정 버전" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "테스팅 버전" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "오프라인 업데이트" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"패키지 %1개를 업데이트할 수 없음\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "패키지 %1개를 업데이트함" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "업그레이드 사용 가능" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "새 불안정 버전: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "새 버전: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "현재 버전:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "오래된 항목:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "새 버전:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "업데이트 상태:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "다시 시작:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "제조사:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2(및 의존성 %1개)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "저장소 URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "삭제할 패키지" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"업데이트 과정에서\n" +"
    • %2
    \n" +"위 패키지를 설치하려면 다음 패키지를 삭제해야 합니다:\n" +"
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "설치를 완료하려면 컴퓨터를 다시 시작하십시오" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"'%1' 형식 미디어 변경이 필요합니다.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"패키지 %1 및 제조사 %2에서 다음 라이선스를 받아들일 것을 요청했습니다:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%2의 %1에 서명이 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"다음 키를 신뢰하시겠습니까?\n" +"\n" +"URL: %1\n" +"사용자: %2\n" +"키: %3\n" +"지문: %4\n" +"타임스탬프: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "패키지 삭제 확인" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"이 동작을 진행하려면 다음 패키지를 삭제해야 합니다:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "이 Snap 프로그램은 보안 컨테이너 설정을 비활성화해야 합니다." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "불러온 백엔드 목록을 쉼표로 구분하여 표시합니다." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "깨짐" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "사용 가능" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "설치됨" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "업그레이드 가능" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "실행" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "업데이트 확인" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "업데이트" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/초" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "시작 중" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "대기 중" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "다운로드 중" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "설치 중" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "삭제 중" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "부가 기능 변경 중" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "완료" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "실패" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "취소됨" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "프로그램 업데이트" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "시스템 업데이트" \ No newline at end of file diff --git a/po/ko/plasma-discover-notifier.po b/po/ko/plasma-discover-notifier.po new file mode 100644 index 0000000..3f13b2f --- /dev/null +++ b/po/ko/plasma-discover-notifier.po @@ -0,0 +1,91 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Shinjo Park , 2015, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-08-14 16:29+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "업데이트" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "보안 업데이트 사용 가능" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "업데이트 사용 가능" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "시스템이 최신 상태임" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "컴퓨터를 다시 시작해야 함" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "업데이트할 패키지가 %1개 있으며" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "이 중 보안 업데이트가 %1개 있음" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "업데이트할 패키지 %1개 있음" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "보안 업데이트 %1개 있음" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "업데이트할 패키지 없음" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "다시 시작 필요" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "업데이트를 적용하려면 시스템을 다시 시작해야 합니다." \ No newline at end of file diff --git a/po/ko/plasma-discover.po b/po/ko/plasma-discover.po new file mode 100644 index 0000000..7b7f2c5 --- /dev/null +++ b/po/ko/plasma-discover.po @@ -0,0 +1,648 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Shinjo Park , 2015, 2016, 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-08-14 16:32+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "분류 '%1'을(를) 찾을 수 없음" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"flatpak 백엔드 %1이(가) 설치되어 있지 않으면 flatpak 자원에 접근할 수 없습니" +"다. 먼저 설치하십시오." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1을(를) 열 수 없음" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "지정한 프로그램을 패키지 이름으로 바로 엽니다." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "지정한 MIME 형식을 처리할 수 있는 프로그램으로 엽니다." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "분류별로 항목 목록을 표시합니다." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "발견을 said 모드로 시작합니다. 모드는 도구 모음 단추에 대응합니다." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "사용 가능한 모드를 표시합니다." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "간편 모드(auto/compact/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "설치할 로컬 패키지 파일" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "사용 가능한 백엔드를 표시합니다." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "appstream: URL 형식 지원" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "발견" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "프로그램 탐색기>" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma Development Team" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "사용 가능한 백엔드:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "사용 가능한 모드:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "부가 기능" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "변경 사항 적용" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "무시" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "더 보기..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "새 %1 저장소 추가" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "추가" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "취소" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 별점" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "별점 없음" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "원본" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "새로운 항목" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "리뷰" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "모든 리뷰 %1개 보기..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "리뷰를 작성하십시오!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "최초로 리뷰를 작성하십시오!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "이 앱을 설치한 다음 리뷰를 작성하십시오!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "이 앱을 설치한 다음 최초로 리뷰를 작성하십시오!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "분류:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "버전: " + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, %2에 출시됨" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "크기:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "원본:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "라이선스: " + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "홈페이지: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "사용자 설명서:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "기부:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "문제 보고:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "정렬: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "이름" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "별점" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "크기:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "출시 날짜" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "찾을 수 없습니다..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "계속 찾는 중..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "인기 항목" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"루트 계정으로 실행하는 것은 권장하지 않으며 필요하지 않습니다." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "검색" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "설치됨" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "업데이트 검색 중..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "업데이트 없음" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "업데이트(%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "설정" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "죄송합니다..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "진행 중인 작업이 있어서 프로그램을 닫을 수 없습니다." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "자원을 찾을 수 없음: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "진행" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "설치" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "삭제" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "불러오는 중..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "'%1'의 자원" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "확장 기능..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "작업(%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "작업" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, fuzzy, kde-format +#| msgctxt "TransactioName - TransactionStatus" +#| msgid "%1 - %2: %3" +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2: %3" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "이 리뷰에 대해서 알려 주십시오!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2명 중 %1명이 이 리뷰를 유용한 것으로 표시함" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "알 수 없는 리뷰어" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1, %2 작성" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "%1 님의 댓글" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"유용합니까? 예/아니요" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"유용합니까? 예/아니요" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "유용합니까? 예/아니요" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "'%1' 리뷰" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "별점:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "제출 이름: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "제목:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "리뷰:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "별점 입력" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "제목 쓰기" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "계속 쓰기..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "너무 깁니다!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "리뷰 제출" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "리뷰..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "찾기..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1'에서 검색 중..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1(기본값)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "기본값으로 설정" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "원본 추가..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "'%1' 선호도를 증가시킬 수 없음" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "'%1' 선호도를 감소시킬 수 없음" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "원본 삭제" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "원본 '%1'을(를) 삭제할 수 없음" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "사용할 수 없는 백엔드" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "업데이트" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "업데이트 선택됨" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "모두 업데이트" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "업데이트 선택됨" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "업데이트 선택되지 않음" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "자세한 정보..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "가져오는 중..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "업데이트 확인 중" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "업데이트 중..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "업데이트 가져오는 중" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "업데이트" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "시스템이 최신 상태임" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "업데이트 없음" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "사용 가능한 업데이트 없음" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "업데이트 확인 여부" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "마지막으로 업데이트를 확인한 때를 알 수 없음" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "링크 주소 복사" \ No newline at end of file diff --git a/po/ko/plasma_applet_org.kde.discovernotifier.po b/po/ko/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..67bcae7 --- /dev/null +++ b/po/ko/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Shinjo Park , 2015, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-08-14 15:30+0100\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "업데이트 보기" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "발견을 실행하여 소프트웨어 업데이트" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "소프트웨어 센터 열기..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "업데이트 보기..." \ No newline at end of file diff --git a/po/lt/libdiscover.po b/po/lt/libdiscover.po new file mode 100644 index 0000000..c51e806 --- /dev/null +++ b/po/lt/libdiscover.po @@ -0,0 +1,1603 @@ +# Lithuanian translations for l package. +# Copyright (C) 2011 This_file_is_part_of_KDE +# This file is distributed under the same license as the l package. +# +# Automatically generated, 2011. +# Liudas Ališauskas , 2011, 2012. +# Eglė , 2011. +# Liudas Alisauskas , 2011, 2012, 2013, 2015. +# Mindaugas Baranauskas , 2015, 2017. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-01-19 23:13+0200\n" +"Last-Translator: Mindaugas Baranauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Programos" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Pagalbininkai" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Pritaikymas neįgaliesiems" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Programuotojo įrankiai" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Derinimas" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Grafinės sąsajos kūrimas" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Integruotos programavimo aplinkos" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizavimas" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiliavimas" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Žiniatinklio programavimas" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Švietimas" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Mokslas ir inžinerija" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemija" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Kompiuterių mokslas ir robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inžinerija" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografija" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Žaidimai" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkada" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Stalo žaidimai" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kortų žaidimai" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Dėlionės" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rolių žaidimai" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simuliacija" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportas" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Programos" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simuliacija" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Piešimas" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Piešimas ir redagavimas" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikavimas" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skenavimas ir OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Žiūryklės" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internetas" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Pokalbis" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Dalinimasis duomenimis" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Paštas" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Žiniatinklio naršyklės" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedija" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Biuras" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Sistema ir nuostatos" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "„Plasma“ papildiniai" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "„Plasma“ valdikliai" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Šriftai" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Kita kategorija" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "kita" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "kiti papildiniai" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "kita 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "kita su turiniu" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "kita 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "kita su šiek tiek turinio" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "kita 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "kita 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Netinkamai sudarytas appstream url „%1“" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Nežinomas" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Nežinomas" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 atsiųsti, %2 diske" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 diske" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Sutinku" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "„Plasma“ papildiniai" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Programų papildiniai" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Blogas KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Trūksta atminties" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nėra su ryšio tinklu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operacija nepalaikoma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Vidinė klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Netinkamas paketo ID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paketas neįdiegtas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paketas nerastas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paketas jau įdiegtas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Nepavyko parsiųsti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Nepavyko rasti paketo grupės" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Netinkamas paketų grupės sąrašas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Nepavyko išspręsti paketų priklausomybių" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Netinkama atranka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Nepavyko sukurti gijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Veiksmo klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Veiksmas atšauktas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Nėra podėlio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Nepavyksta rasti saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Negalima pašalinti sistemos paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit tarnyba nulūžo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Paruošimo klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Nepavyko užbaigti veiksmo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Nepavyko išnagrinėti konfigūracijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nepavyko atšaukti veiksmo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nepavyko gauti užrakto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Atnaujintinų paketų nėra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nepavyko įrašyti saugyklų konfigūracijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Užrakto įdiegimas nepavyko" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Saugyklų konfigūracijos klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Licencijos nėra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Konfliktas tarp failų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Paketai konfliktuoja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Saugykla neprieinama" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Neteisingas paketo failas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Paketo diegimas užblokuotas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Rastas sugadintas paketas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Visi paketai jau įdiegti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Failas nerastas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Daugiau nėra prieinamų veidrodžių" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Sistemos versijos atnaujinimai" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nesuderinama architektūra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Įrenginyje neliko vietos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Reikia pakeisti laikmeną" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Neturite teisės atlikti šį veiksmą" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Atnaujinimų nerastas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Negalima diegti iš nepasirašytos saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Negalima atnaujinti iš nepasirašytos saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Nepavyko gauti failų sąrašo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Nepavyksta gauti reikalingų paketų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nepavyko uždrausti saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Aptiktas siuntimų apribojimas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Nepavyko sukonfigūruoti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Nepavyko sukurti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Nepavyko įdiegti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Nepavyko pašalinti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Atnaujinti nepavyko, nes trukdo kiti veikiantys procesai" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pasikeitė paketų duombazė" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Nurodytas tipas nepalaikomas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Netinkamas diegimo šakninis katalogas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Neužbaigtas veiksmas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Reikia užrakinti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Nežinoma klaida: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ pasikeitė, tad dera paleisti iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "„%1“ pakeitimai siūlo iš naujo paleisti sesiją." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "Saugumo sumetimais atnaujinus „%1“, prašome iš naujo paleisti sesiją." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "Saugumo sumetimais atnaujinus „%1“, prašome iš naujo paleisti sistemą." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "„%1“ pakeitimai siūlo iš naujo paleisti sistemą." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Reikės iš naujo paleisti programą." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Reikės iš naujo paleisti sesiją" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Reikės iš naujo paleisti sistemą." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Saugumo sumetimais reikės iš naujo paleisti sesiją." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Saugumo sumetimais reikės iš naujo paleisti sistemą." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Laukiama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Atnaujinamas podėlis..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Sąranka..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Apdorojama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Pašalinti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Atsiunčiama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Diegiama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Atnaujinama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Išvaloma..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Sprendžiamos priklausomybių sąsajos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Tikrinami parašai..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Užbaigta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Atšaukta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Laukiama užrakto..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Laukiama autorizacijos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopijuojami failai..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Būsena nežinoma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Kažko laukiame." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Ruošiamasi veiksmui..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction has finished!" +msgstr "Laukiama, kad kiti perkėlimo darbai baigtųsi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction was canceled" +msgstr "Laukiama, kad kiti perkėlimo darbai baigtųsi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Waiting for the user to authorize the transaction..." +msgstr "Laukiama, kad kiti perkėlimo darbai baigtųsi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Nežinoma būsena „%1“." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Nestabilus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Bandomasis" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Programų atnaujinimai" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Galima atnaujinti versiją" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Versija %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "Versija %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Padaro nebevartojamais:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Versija %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Atnaujinimo būsena:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Paleisti iš naujo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Gamintojas:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Saugyklos aprašas:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pašalintini paketai" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "%1" +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Atnaujinant pašalinsimi paketai:\n" +"%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "This action requires a change to another package:" +#| msgid_plural "This action requires changes to other packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Šis veiksmas reikalauja pokyčių kitam paketui:" +msgstr[1] "Šis veiksmas reikalauja pokyčių kitiems paketams:" +msgstr[2] "Šis veiksmas reikalauja pokyčių kitiems paketams:" +msgstr[3] "Šis veiksmas reikalauja pokyčių kitiems paketams:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, fuzzy, kde-format +#| msgid "" +#| "List all the backends we'll want to have loaded, separated by coma ','." +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Rikiuoti visas galines sąsajas, kurias norėsime turėti įkeltas, atskirtas " +"kableliais „,“." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Sugadintas" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Prieinama" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Įdiegti" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Galima atnaujinti versiją" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tikrinti, ar yra atnaujinimų" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Atnaujinimai" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Paleidžiama" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Laukiama" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Atsiunčiama" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Įdiegiama" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Šalinama" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Keičiami papildiniai" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Atlikta" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Atšaukta" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programų atnaujinimai" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistemos atnaujinimai" \ No newline at end of file diff --git a/po/lt/plasma-discover-notifier.po b/po/lt/plasma-discover-notifier.po new file mode 100644 index 0000000..801358a --- /dev/null +++ b/po/lt/plasma-discover-notifier.po @@ -0,0 +1,107 @@ +# Lithuanian translations for trunk-kf package. +# Copyright (C) 2015 This_file_is_part_of_KDE +# This file is distributed under the same license as the trunk-kf package. +# +# Automatically generated, 2015. +# Liudas Ališauskas , 2015. +# Mindaugas Baranauskas , 2017. +msgid "" +msgstr "" +"Project-Id-Version: trunk-kf 5\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2017-01-19 23:15+0200\n" +"Last-Translator: Mindaugas Baranauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Rasta saugumo atnaujinimų" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Rasta atnaujinimų" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema pilnai atnaujinta" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 atnaujintinas paketas" +msgstr[1] "%1 atnaujintini paketai" +msgstr[2] "%1 atnaujintinų paketų" +msgstr[3] "%1 atnaujintinas paketas" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "vienas iš jų yra saugumo atnaujinimas" +msgstr[1] "%1 iš jų yra saugumo atnaujinimai" +msgstr[2] "%1 iš jų yra saugumo atnaujinimai" +msgstr[3] "%1 iš jų yra saugumo atnaujinimai" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 atnaujintinas paketas" +msgstr[1] "%1 atnaujintini paketai" +msgstr[2] "%1 atnaujintinų paketų" +msgstr[3] "%1 atnaujintinas paketas" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 saugumo atnaujinimas" +msgstr[1] "%1 saugumo atnaujinimai" +msgstr[2] "%1 saugumo atnaujinimų" +msgstr[3] "%1 saugumo atnaujinimas" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Atnaujintinų paketų nėra" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/lt/plasma-discover.po b/po/lt/plasma-discover.po new file mode 100644 index 0000000..5c9c6aa --- /dev/null +++ b/po/lt/plasma-discover.po @@ -0,0 +1,681 @@ +# Lithuanian translations for l package. +# Copyright (C) 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the l package. +# +# Automatically generated, 2012. +# Liudas Ališauskas , 2012, 2014. +# Donatas G. , 2012. +# Liudas Alisauskas , 2013. +# Mindaugas Baranauskas , 2017. +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2017-06-25 01:44+0200\n" +"Last-Translator: Mindaugas Baranauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nepavyksta atverti kategorijos „%1“" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nepavyksta atverti %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Tiesiogiai atverti nurodytą programą pagal jos paketo pavadinimą." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Atverti su programa, galinčia apdoroti šį MIME tipą." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Rodyti kategorijos įrašų sąrašą." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"„Discover“ programų radim Atverti „said“ veiksenoje. Veiksenos derinasi prie " +"įrankių juostos mygtukų." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Rodyti visas prieinamas veiksenas." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Glaustoji veiksena (auto/glaustoji/pilnoji)" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Įdiegtinas vietinis paketas" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Rodyti visas prieinamas sąsajas." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Palaiko appstream: url schemą" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Programų paieška" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Programų paieškos įrankis" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2016 Plasma vystymo komanda" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Galimos sąsajos:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Galimos veiksenos:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Papildiniai" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Pritaikyti pakeitimus" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Atmesti" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Daugiau..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Papildiniai" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Įvertinimas:" +msgstr[1] "Įvertinimas:" +msgstr[2] "Įvertinimas:" +msgstr[3] "Įvertinimas:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Šaltinis:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Apžvalga" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Rodyti komentarus (%1)..." +msgstr[1] "Rodyti komentarus (%1)..." +msgstr[2] "Rodyti komentarus (%1)..." +msgstr[3] "Rodyti komentarus (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Versija: %1" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Dydis: %1" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Šaltinis:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licencija:" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Svetainė: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Ieškoti: „%1“..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Pavadinimas" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Įvertinimas:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Dydis: %1" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Atleiskite, nieko nerasta..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Vis dar ieškoma..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Paleisti root teisėmis nereikia ir netgi nepatartina." + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Ieškoti..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Įdiegta" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Ieškoma atnaujinimų..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Atnaujinimų nėra" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Atnaujinti (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nuostatos" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Trumpa santrauka..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Nepavyksta užverti programos: liko nebaigtų užduočių." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nepavyksta rasti ištekliaus: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Įdiegti" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Pašalinti" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Įkeliama..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "„%1“ ištekliai" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Plėtiniai..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Užduotys (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Užduotys" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Įvertinkite šią apžvalgą!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 iš %2 asmenys mano, kad ši apžvalga naudinga" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "nežinomas tikrintojas" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 / %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Komentarai" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Naudinga? Taip/Ne" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Naudinga? Taip/Ne" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Naudinga? Taip/Ne" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "„%1“ apžvalga" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Įvertinimas:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Apžvalga" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Atnaujinama..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Apžvalga" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Ieškoti..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Ieškoti kategorijoje „%1“..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Pridėti šaltinį" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Pašalinti kilmę" + +#: discover/qml/SourcesPage.qml:205 +#, fuzzy, kde-format +#| msgid "Unable to find resource: %1" +msgid "Failed to remove the source '%1'" +msgstr "Nepavyksta rasti ištekliaus: %1" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Atnaujinimai" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Pasirinkti atnaujinimai" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Atnaujinti viską" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "pasirinkti atnaujinimai" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "atnaujinimų nepasirinkta" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Atnaujinama..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Checking for updates..." +msgctxt "@info" +msgid "Looking for updates" +msgstr "Ieškoma atnaujinimų..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Atnaujinama..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Gaunami atnaujinimai" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Atnaujinimai" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Sistema pilnai atnaujinta" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Atnaujinimų nėra" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Atnaujinimų nėra" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Bandyti ieškoti atnaujinimų" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Nežinoma, kada buvo paskutinį kartą ieškota atnaujinimų" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/lt/plasma_applet_org.kde.discovernotifier.po b/po/lt/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..8797664 --- /dev/null +++ b/po/lt/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,43 @@ +# Lithuanian translations for trunk-kf package. +# Copyright (C) 2015 This_file_is_part_of_KDE +# This file is distributed under the same license as the trunk-kf package. +# +# Automatically generated, 2015. +# Liudas Ališauskas , 2015. +msgid "" +msgstr "" +"Project-Id-Version: trunk-kf 5\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-08-25 10:49+0200\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Žiūrėti atnaujinimus..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Paleidžia programą atnaujinimo atlikimui" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Žiūrėti atnaujinimus..." \ No newline at end of file diff --git a/po/mr/libdiscover.po b/po/mr/libdiscover.po new file mode 100644 index 0000000..84064d3 --- /dev/null +++ b/po/mr/libdiscover.po @@ -0,0 +1,1628 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2013-03-28 16:07+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "अनुप्रयोग" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "सुलभता" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"debug" +#| "\"" +#| msgid "Debug" +msgctxt "Category" +msgid "Debugging" +msgstr "डिबग" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "शिक्षण" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "खगोलशास्त्र" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "खेळ" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Games" +msgctxt "Category" +msgid "Board Games" +msgstr "खेळ" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Games" +msgctxt "Category" +msgid "Card Games" +msgstr "खेळ" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Education" +msgctxt "Category" +msgid "Simulation" +msgstr "शिक्षण" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "अनुप्रयोग" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Education" +msgctxt "Category" +msgid "Emulators" +msgstr "शिक्षण" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "आलेखीय" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "मल्टीमीडिया" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "ऑफिस" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "प्रणाली व संयोजना" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "फॉन्ट" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "अपरिचीत" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "अपरिचीत" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 डाउनलोड करायचे आहे, %2 डिस्कवर आहे" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 डिस्कवर आहे" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "अनुप्रयोग" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "PackageID invalid" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package not installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package not found" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package is already installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package download failed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package group not found" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package group list invalid" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction failure" +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction canceled" +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Local install failed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Repo configuration error" +msgstr "अधिप्रमाणनाची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package install blocked" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "All packages already installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "वितरण अद्ययावतता" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "मीडिया बदल आवश्यक" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package failed to install" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "कुलूपबंद" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown error %1." +msgstr "अपरिचीत" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "काढून टाका" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "डाउनलोड करत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "प्रतिष्ठापन करत आहे..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "संवाद" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "संपले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "अधिप्रमाणनाची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "अपरिचीत" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, fuzzy, kde-format +#| msgid "Setting up for install..." +msgid "Setting up transaction..." +msgstr "प्रतिष्ठापनाकरिता संयोजना करत आहे..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction has finished!" +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction was canceled" +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Waiting for the user to authorize the transaction..." +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "अपरिचीत" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "अनुप्रयोग" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "अद्ययावत करण्यायोग्य" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "आवृत्ती %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "आवृत्ती %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "आवृत्ती %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Packages to remove" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "तुटलेले" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "उपलब्ध" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "अद्ययावत करण्यायोग्य" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "अद्ययावत तपासा" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "सुरु करत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "वाट पाहत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "डाउनलोड करत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "प्रतिष्ठापन करत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "काढून टाकत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "एडोन्स बदलत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "झाले" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "अनुप्रयोग" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" \ No newline at end of file diff --git a/po/mr/plasma-discover.po b/po/mr/plasma-discover.po new file mode 100644 index 0000000..8e03244 --- /dev/null +++ b/po/mr/plasma-discover.po @@ -0,0 +1,685 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2013-04-01 10:16+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "निर्देशीत अनुप्रयोग त्याच्या पॅकेज नावाने उघडा." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "दिलेल्या माइम प्रकाराशी चालू शकेल अशा कार्यक्रमात उघडा." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "नोंदींची यादी विभागासहित दर्शवा." + +#: discover/main.cpp:48 +#, fuzzy, kde-format +#| msgid "" +#| "Open Muon Discover in a said mode. Modes correspond to the toolbar " +#| "buttons." +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "म्युओन डिस्कव्हर सांगितलेल्या पद्धतीने उघडा. पध्दती साधनपट्टी बटनांशी संलग्न असतात." + +#: discover/main.cpp:49 +#, fuzzy, kde-format +#| msgid "List all the available modes and output them on stdout." +msgid "List all the available modes." +msgstr "उपलब्ध पद्धतीची यादी करा व त्याचे आउटपुट stdout वर द्या." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, fuzzy, kde-format +#| msgid "List all the available modes and output them on stdout." +msgid "List all the available backends." +msgstr "उपलब्ध पद्धतीची यादी करा व त्याचे आउटपुट stdout वर द्या." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "शोधा" + +#: discover/main.cpp:96 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "अनुप्रयोग शोधक" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "एलैक्स पोल गोन्झालेझ" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "जोनाथन थोमस" + +#: discover/main.cpp:111 +#, fuzzy, kde-format +#| msgid "Available modes:\n" +msgid "Available backends:\n" +msgstr "उपलब्ध पद्धती :\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "उपलब्ध पद्धती :\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "सोडून द्या" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "एडोन्स" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "रद्द करा" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "गुणवत्ताश्रेणी" +msgstr[1] "गुणवत्ताश्रेणी" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "स्रोत" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "प्रतिक्रिया" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "%1 reviews" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 प्रतिक्रिया" +msgstr[1] "%1 प्रतिक्रिया" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "सादर करा" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size:" +msgstr "एकूण आकार : %1
    " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "स्रोत" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "गुण : %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage" +msgid "Homepage:" +msgstr "मुख्यपान" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "यामध्ये शोधा '%1'..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "नाव" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "गुणवत्ताश्रेणी" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size" +msgstr "एकूण आकार : %1
    " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "प्रतिष्ठापीत करा" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "शोधा..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "अद्ययावत करा" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "अद्ययावत करा" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "अद्ययावत करा" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "सर्वोत्कृष्ट गुणवत्ताश्रेणी" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "प्रतिष्ठापीत करा" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "काढून टाका" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "दाखल करत आहे..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "अद्ययावत करा" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "या प्रतिक्रियेबद्दल आम्हाला सांगा !" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2 पैकी %1 व्यक्तिंना हि प्रतिक्रिया उपयोगी वाटली" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"उपयोगी आहे का? होय/नाही" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"उपयोगी आहे का? होय/नाही" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "उपयोगी आहे का? होय/नाही" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing '%1'" +msgstr "समीक्षा करत आहे %1" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "गुणवत्ताश्रेणी :" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "समीक्षा" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "दाखल करत आहे..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "सादर करा" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "समीक्षा" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "शोधा..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "यामध्ये शोधा '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "स्रोत जोडा" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "सर्व अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "सर्व अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "दाखल करत आहे..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "दाखल करत आहे..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/nb/libdiscover.po b/po/nb/libdiscover.po new file mode 100644 index 0000000..531661f --- /dev/null +++ b/po/nb/libdiscover.po @@ -0,0 +1,1554 @@ +# Translation of libdiscover to Norwegian Bokmål +# +# Bjørn Steensrud , 2010, 2011, 2012, 2013, 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2015-06-13 21:56+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tilbehør" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Tilgjengelighet" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Utviklerverktøy" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Feilsøking" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Grensesnittdesign" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE-er" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisering" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Vevutvikling" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Opplæring" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kjemi" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronikk" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Teknikk" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematikk" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysikk" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spill" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Brettspill" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kortspill" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puslespill" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollespill" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulering" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikk" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Tegning" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografering" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Forlagsvirksomhet" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Framvisning" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internett" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Prat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fildeling" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-post" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Nettlesere" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Skrifter" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "attrapp" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Ukjent" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Ukjent størrelse" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 å laste ned, %2 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Godta EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Bruk" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Logg i informasjon for %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Slapp opp for minne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Ingen nettverkstilkobling tilgjengelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Handlingen er ikke støttet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Intern feil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG-svikt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pakka er ikke installert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Fant ikke pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Pakka er installert fra før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Pakkenedlasting mislyktes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Fant ikke pakkegruppa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Lista over pakkegrupper er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Avhengigheter ble ikke løst" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Ugyldig filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Klarte ikke å lage en tråd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transaksjonsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaksjon avbrutt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Ikke noe mellomlager tilgjengelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan ikke finne pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan ikke fjerne systempakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-daemonen har krasjet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Klargjøringsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Klarte ikke å avslutte transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Klarte ikke å tolke oppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan ikke avbryte transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan ikke sette lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakker trenger oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan ikke skrive til brønnoppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokalinstallasjonen var mislykket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Ødelagt GPG-signatur funnet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Fant ingen GPG-signatur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan ikke installere kildepakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Feil i oppsettet for pakkebrønnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Ingen lisensbetingelse" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Fant fillkonflikter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Fant pakkekonflikter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Pakkebrønn ikke tilgjengelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ugyldig pakkefil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Pakkeinstallasjonen ble blokkert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Fant ødelagt pakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakkene er installert fra før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Fant ikke fila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Ingen flere speil er tilgjengelige" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen data om distribusjonsoppgradering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Inkompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Ingen plass igjen på enheten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Må bytte medium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Du har ingen autorisasjon til å utføre denne handlingen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Fant ikke oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan ikke installere fra usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan ikke oppdatere fra usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan ikke hente fillista" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan ikke finne hva pakka krever" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan ikke slå av pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Fant nedlasting med restriksjoner" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Klarte ikke å sette opp pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Klarte ikke å bygge pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Pakke kunne ikke installeres" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Kunne ikke fjerne pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Oppdatering mislyktes på grunn av en kjørende prosess" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pakkedatabasen ble endret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Det er ikke støtte for den leverte typen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Installasjonsroten er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Kan ikke hente installasjonskilder" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Kansellert prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ufullført transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Låsing kreves" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Ukjent feil %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» ble endret og ber om å bli startet på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "En endring av «%1» tyder på at økta bør startes på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» ble oppdatert av sikkerhetsgrunner, det anbefales å starte økta på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» ble oppdatert av sikkerhetsgrunner, det anbefales å starte systemet på " +"nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "En endring av «%1» tyder på at systemet bør startes om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Skal programmet starte minimert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Økta må startes på nytt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Systemet må startes på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Økta må startes på nytt av sikkerhetsgrunner." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Systemet må startes på nytt av sikkerhetsgrunner." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Venter …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Oppdaterer mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Oppsett …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Behandler …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Fjern …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Laster ned …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installerer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Oppdaterer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Rydder opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Løser opp avhengigheter …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerer signaturer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Test-innlevering …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Innleverer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Ferdig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Avbrutt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Venter på lås …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Venter på autorisasjon …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopierer filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Ukjent status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Vi venter på noe." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Setter opp transaksjon …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaksjonen arbeider nå …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaksjonen fjerner nå pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaksjonen laster nå ned pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaksjonene installerer nå pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaksjonen oppdaterer nå pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaksjonen rydderr nå opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transaksjonen løser nå opp avhengigheter for pakkene den skal installere …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transaksjonen kontrollerer nå signaturene til pakkene …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transaksjonen tester nå innlevering av disse pakkene …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transaksjonen innleverer nå pakkene sine …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaksjonen er nå avsluttet." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaksjonen ble kansellert." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaksjonen venter nå på låsen …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Venter på at brukeren skal autorisere transaksjonen …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaksjonen kopierer nå filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Frisker nå opp pakkebrønn-mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Ukjent status: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ustabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Tester" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Utdaterer:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Oppdateringsstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Omstart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Produsent:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Må bytte medium type «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Pakka %1 og dens leverandør %2 krever at du godtar deres lisens:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Ødelagt" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Tilgjengelig" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installert" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Oppgraderbar" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Start" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Se etter oppdateringer" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Starter" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Venter" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Laster ned" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerer" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Fjerner" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Endrer tillegg" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Ferdig" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislyktes" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" \ No newline at end of file diff --git a/po/nb/plasma-discover-notifier.po b/po/nb/plasma-discover-notifier.po new file mode 100644 index 0000000..b8a2fef --- /dev/null +++ b/po/nb/plasma-discover-notifier.po @@ -0,0 +1,97 @@ +# Translation of plasma-discover-notifier to Norwegian Bokmål +# +# Bjørn Steensrud , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-06-13 07:40+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Sikkerhetsoppdateringer tilgjengelige" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Oppdateringer tilgjengelige" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systemet er oppdatert" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakke skal oppdateres" +msgstr[1] "%1 pakker skal oppdateres" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "" +msgstr[1] "" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakker trenger oppdatering" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/nb/plasma-discover.po b/po/nb/plasma-discover.po new file mode 100644 index 0000000..9fc2008 --- /dev/null +++ b/po/nb/plasma-discover.po @@ -0,0 +1,645 @@ +# Translation of plasma-discover to Norwegian Bokmål +# +# Bjørn Steensrud , 2012, 2013, 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2015-06-13 21:56+0200\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Åpne direkte det oppgitte programmet etter sitt pakkenavn." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Åpne med et program som kan håndtere den oppgitte mime-typen." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Vis en liste over oppføringer med en kategori." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "List alle tilgjengelige moduser." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "List alle tilgjengelige bakgrunnsmotorer." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Oppdag" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "En programutforsker" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Tilgjengelige motorer:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Tilgjengelige moduser:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Tillegg" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Bruk endringene" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Forkast" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Avbryt" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Kilder" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Hva er nytt" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Gjennomganger" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versjon:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Størrelse:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Kilde:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lisens:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Hjemmeside:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Navn" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Karakter" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Størrelse" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Søk" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installert" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Innstillinger" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Fortsett" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Fjern" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Laster …" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressurser for «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Oppgaver" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Fortell oss om anmeldelsen!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 av %2 syntes denne anmeldelsen var nyttig" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig?Ja/Nei" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig?Ja/Nei" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig?Ja/Nei" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Karakter:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Tittel:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Søk …" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Søk i «%1» …" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Gjør til standard" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Slett kilden" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Oppdateringer" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Oppdater alle" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Mer informasjon …" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/nb/plasma_applet_org.kde.discovernotifier.po b/po/nb/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..bdb6bbc --- /dev/null +++ b/po/nb/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Translation of plasma_applet_org.kde.discovernotifier to Norwegian Bokmål +# +# Øystein Steffensen-Alværvik , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-06-27 18:56+0100\n" +"Last-Translator: Øystein Steffensen-Alværvik \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Åpne Programvaresenter …" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Se på oppdateringer …" \ No newline at end of file diff --git a/po/nds/libdiscover.po b/po/nds/libdiscover.po new file mode 100644 index 0000000..671f18a --- /dev/null +++ b/po/nds/libdiscover.po @@ -0,0 +1,1738 @@ +# translation of muon.po to Low Saxon +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Manfred Wiese , 2010, 2011. +# Sönke Dibbern , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: muon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2014-07-06 22:08+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"devel" +#| "\"" +#| msgid "Development" +msgctxt "Category" +msgid "Developer Tools" +msgstr "Utwickeln" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"debug" +#| "\"" +#| msgid "Debug" +msgctxt "Category" +msgid "Debugging" +msgstr "Fehlersöök" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section " +#| "\"localization\"" +#| msgid "Localization" +msgctxt "Category" +msgid "Localization" +msgstr "Översetten" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"devel" +#| "\"" +#| msgid "Development" +msgctxt "Category" +msgid "Web Development" +msgstr "Utwickeln" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Location" +msgctxt "Category" +msgid "Education" +msgstr "Steed" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section " +#| "\"electronics\"" +#| msgid "Electronics" +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"math" +#| "\"" +#| msgid "Mathematics" +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematik" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Location" +msgctxt "Category" +msgid "Simulation" +msgstr "Steed" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Location" +msgctxt "Category" +msgid "Action" +msgstr "Steed" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Location" +msgctxt "Category" +msgid "Emulators" +msgstr "Steed" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section " +#| "\"graphics\"" +#| msgid "Graphics" +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikprogrammen" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"web\"" +#| msgid "Internet" +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"httpd" +#| "\"" +#| msgid "Web Servers" +msgctxt "Category" +msgid "Web Browsers" +msgstr "Nettservers" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"sound" +#| "\"" +#| msgid "Multimedia" +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "Category" +msgid "System Settings" +msgstr "Opfrischen" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"fonts" +#| "\"" +#| msgid "Fonts" +msgctxt "Category" +msgid "Fonts" +msgstr "Schriftoorden" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package category" +#| msgid "Category:" +msgctxt "Category" +msgid "Dummy Category" +msgstr "Kategorie:" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section " +#| "\"unknown\"" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Nich begäng" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section " +#| "\"unknown\"" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Nich begäng" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, fuzzy, kde-format +#| msgctxt "@label showing download and install size" +#| msgid "%1 to download, %2 of space to be used" +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 warrt daallaadt, %2 op de Fastplaat warrt bruukt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "No Screenshot Available" +msgid "No network connection available" +msgstr "Keen Schirmfoto to finnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"web\"" +#| msgid "Internet" +msgid "Internal error" +msgstr "Internet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "PackageID invalid" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "Package not installed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package not found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "Package is already installed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Save Download List As" +msgid "Package download failed" +msgstr "Daalladen-List sekern as" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group not found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group list invalid" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Transaction failure" +msgstr "Fehler bi't Torechtmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "No Screenshot Available" +msgid "No Cache available" +msgstr "Keen Schirmfoto to finnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Initialization failure" +msgstr "Fehler bi't Torechtmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "Local install failed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Residual Configuration" +msgid "Repo configuration error" +msgstr "Övrigbleven Instellen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File conflicts found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package conflict found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "1 package available, " +#| msgid_plural "%1 packages available, " +msgid "Repo not available" +msgstr "1 Paket verföögbor, " + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgid "Package" +msgid "Package install blocked" +msgstr "Paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Corrupt package found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "All packages already installed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File not found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "No Screenshot Available" +msgid "No more mirrors available" +msgstr "Keen Schirmfoto to finnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Distributschoon-Opfrischen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "En Medienwessel deit noot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Update not found" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to configure" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to build" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to install" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to remove" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled priority" +msgstr "Afbreken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Afslaten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section " +#| "\"unknown\"" +#| msgid "Unknown" +msgid "Unknown error %1." +msgstr "Nich begäng" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Waiting..." +msgstr "Snacken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"text" +#| "\"" +#| msgid "Word Processing" +msgid "Processing..." +msgstr "Textverarbeiden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Wegmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package's download size" +#| msgid "Download Size:" +msgid "Downloading..." +msgstr "Daalladengrött:" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Install" +msgid "Installing..." +msgstr "Installeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "Snacken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled" +msgstr "Afbreken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Waiting for authorization..." +msgstr "Identiteetprööv fehlslaan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@label Label for when the download speed is unknown" +#| msgid "Unknown speed" +msgid "Unknown Status" +msgstr "Nich begäng Gauheit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@label Label for when the download speed is unknown" +#| msgid "Unknown speed" +msgid "Unknown status %1." +msgstr "Nich begäng Gauheit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgctxt "@info:status describes a past-tense action" +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Offline Updates" +msgstr "Opfrischen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"\"%1\" lett sik nich daalladen.\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Opgradeerbor" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package version" +#| msgid "Version:" +msgid "New version: %1" +msgstr "Verschoon:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@action:button" +#| msgid "Lock at Current Version" +msgid "Current Version:" +msgstr "Aktuelle Verschoon fastsetten" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package version" +#| msgid "Version:" +msgid "New Version:" +msgstr "Verschoon:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Packages to remove" +msgstr "Paketen laat sik nich finnen." + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "Unable to download the following packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Disse Paketen laat sik nich daalladen:" +msgstr[1] "Disse Paketen laat sik nich daalladen:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Schaadhaftig" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, fuzzy, kde-format +#| msgid "Available updates" +msgid "Available" +msgstr "Verföögbor Opfrischen" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, fuzzy, kde-format +#| msgctxt "@info:status describes a past-tense action" +#| msgid "Installed" +msgid "Installed" +msgstr "Installeert" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Opgradeerbor" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Na Opfrischen kieken" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Opfrischen" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package's download size" +#| msgid "Download Size:" +msgctxt "@info:status" +msgid "Downloading" +msgstr "Daalladengrött:" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Install" +msgctxt "@info:status" +msgid "Installing" +msgstr "Installeren" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgctxt "@info:status" +msgid "Removing" +msgstr "Wegmaken" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when done" +#| msgid "Done" +msgctxt "@info:status" +msgid "Done" +msgstr "Afslaten" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Afbreken" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Opfrischen" \ No newline at end of file diff --git a/po/nds/plasma-discover.po b/po/nds/plasma-discover.po new file mode 100644 index 0000000..5cbd043 --- /dev/null +++ b/po/nds/plasma-discover.po @@ -0,0 +1,688 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Manfred Wiese , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2014-03-16 09:10+0100\n" +"Last-Translator: Manfred Wiese \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Dat angeven Programm direktemang över em sien Paketnaam opmaken" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, fuzzy, kde-format +#| msgid "" +#| "Open Muon Discover in a said mode. Modes correspond to the toolbar " +#| "buttons." +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Muon Discover in de angeven Bedriefoorden opmaken. De Bedriefoorden höört de " +"Warktüüchknööp to." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "All verföögbor Bedriefoorden wiesen" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "All verföögbor Hülpprogrammen wiesen" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, fuzzy, kde-format +#| msgid "Jonathan Thomas" +msgid "Jonathan Thomas" +msgstr "Version: %1" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Verföögbor Hülpprogrammen:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Verföögbor Bedriefoorden:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Verwiedern" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Wegsmieten" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Verwiedern" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Afbreken" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Beweerten" +msgstr[1] "Beweerten" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Borns" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Nakiek" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "More comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mehr Kommentaren (%1)..." +msgstr[1] "Mehr Kommentaren (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Loosstüern" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: " +msgid "Version:" +msgstr "Verschoon: " + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: " +msgid "Size:" +msgstr "Heel Grött: " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Borns" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "License: " +msgid "License:" +msgstr "Verlööfnis: " + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Tohuussiet: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "Söken..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Naam" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Beweerten" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: " +msgid "Size" +msgstr "Heel Grött: " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Installeren" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Söken..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installeert" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Opfrischen" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "Opfrischen" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Opfrischen" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Best Beweerten" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installeren" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Wegmaken" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Bi to laden..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Opfrischen" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Kommentaren" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Bruukbor? Jo/Nee" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Bruukbor? Jo/Nee" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Bruukbor? Jo/Nee" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing '%1'" +msgstr "Nakiek" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Beweerten:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Nakiek" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Bi to laden..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Loosstüern" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Nakiek" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Söken..." + +#: discover/qml/SearchField.qml:31 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "Söken..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Born tofögen" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "All opfrischen" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "All opfrischen" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Bi to laden..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "Bi to laden..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/nl/libdiscover.po b/po/nl/libdiscover.po new file mode 100644 index 0000000..d920db3 --- /dev/null +++ b/po/nl/libdiscover.po @@ -0,0 +1,1582 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-10-16 14:49+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Toepassingen" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoires" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Toegankelijkheid" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Hulpmiddelen voor ontwikkelaars" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Debuggen" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Ontwerpen van grafisch interface" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE's" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Aanpassen aan taalregio" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profileren" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Webontwikkeling" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Onderwijs" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Wetenschap en techniek" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Scheikunde" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Computerwetenschap en robotica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronics" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Techniek" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografie" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Wiskunde" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Natuurkunde" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spellen" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Bordspellen" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kaartspellen" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzels" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollen spelen" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatie" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Actie" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulators" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Illustraties" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Tekenen" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Schilderen en bewerken" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Uitgeven" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scannen en optische tekstherkenning" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Viewers" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Bestanden delen" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-mail" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webbrowsers" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Audio- en video-bewerkers" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Audio-spelers" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Video-spelers" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "Cd en dvd" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kantoor" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Systeeminstellingen" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma add-ons" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-widgets" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Lettertypen" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Dummy categorie" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "dummy add-ons" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy met stuf" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "dummy 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy met heel wat stuf" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokale bundel" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Misvormde appstream-URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Onbekend" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Informatie over grootte wordt opgehaald" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Onbekende grootte" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 te downloaden, %2 op schijf" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 op schijf" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub toevoegen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Kon de bron %1 niet toevoegen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak opslagruimte URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "EULA accepteren" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Het systeem op afstand %1 vereist dat u hun licentie accepteert:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ongeldige %1 backend, neem contact op met uw leverancier." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma Addons" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Add-ons van toepassingen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Foute KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Gebruik" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Aanmeldinformatie voor %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Ga na dat Appstream op de juiste manier op uw systeem is opgezet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Onvoldoende geheugen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Geen netwerkverbinding beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Handeling wordt niet ondersteund" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Interne fout" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Ongeldige pakket-ID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pakket is niet geïnstalleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Pakket is niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Pakket is al geïnstalleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Het downloaden van het pakket is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Pakketgroep is niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "De lijst van de pakkettengroep is ongeldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Het oplossen van afhankelijkheden is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Het filter is ongeldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Aanmaken van een thread is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transactie uitvoeren is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transactie is geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Er is geen cache beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan installatiebron niet vinden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan systeempakket niet verwijderen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "De PackageKit-daemon is gecrasht" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Initialisatiefout" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Afmaken van transactie is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Ontleden van configuratie is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan transactie niet annuleren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan geen vergrendeling verkrijgen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Geen pakketten om te opwaarderen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan configuratie van installatiebron niet wegschrijven" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokale installatie is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Foute GPG-ondertekening gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Geen GPG-ondertekening gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan broncodepakket niet installeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Configuratiefout in installatiebron" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Geen licentieovereenkomst" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Conflicten tussen bestanden gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Conflicten tussen pakketten gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Installatiebron niet beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ongeldig pakketbestand" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Pakketinstallatie is geblokkeerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Corrupt pakket gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakketten zijn al geïnstalleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Bestand niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Meer mirrors zijn niet beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Geen gegevens voor opwaardering van distributie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Incompatibele architectuur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Geen ruimte meer beschikbaar op het apparaat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Een wijziging van medium is vereist" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "U hebt geen autorisatie om deze handeling uit te voeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Bijwerken is niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan niet installeren vanaf een niet-ondertekende installatiebron" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan niet bijwerken vanaf een niet-ondertekende installatiebron" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan lijst met bestanden niet ophalen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan de vereisten niet ophalen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan installatiebron niet uitschakelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Verboden download ontdekt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Pakket instellen is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Pakket bouwen is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Pakket installeren is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Pakket verwijderen is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Bijwerken is mislukt vanwege een actief proces" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "De database van het pakket is gewijzigd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Het geleverde type wordt niet ondersteund" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Hoofdmap voor installatie is ongeldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Kan bronnen niet ophalen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Prioriteit geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Niet afgemaakte transacties" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Vergrendeling vereist" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Onbekende fout %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' is gewijzigd en suggereert een herstart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Een wijziging van '%1' suggereert om uw sessie opnieuw te starten." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' is bijgewerkt vanwege beveiliging, opnieuw starten van de sessie is " +"aanbevolen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' is bijgewerkt vanwege beveiliging, opnieuw starten van het systeem is " +"aanbevolen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Een wijziging van '%1' suggereert om uw systeem opnieuw te starten." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "De toepassing zal opnieuw gestart moeten worden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "De sessie zal opnieuw gestart moeten worden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Het systeem zal opnieuw opgestart moeten worden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Vanwege de veiligheid zal de sessie opnieuw gestart moeten worden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Vanwege de veiligheid zal het systeem opnieuw opgestart moeten worden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Bezig met wachten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Cache vernieuwen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Instellingen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Bezig met verwerken..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Verwijderen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Bezig met downloaden..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installeren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Bezig met bijwerken..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Bezig met opschonen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Afhankelijkheden oplossen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Ondertekening aan het controleren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Bezig met testen van vastleggen (commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Vastleggen(commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Voltooid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Wacht op vergrendeling..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Bezig met wachten op autorisatie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Bezig met bestanden kopiëren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Onbekende status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "We wachten ergens op." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Bezig met opzetten van transactie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "De transactie is nu bezig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "De transactie is nu bezig pakketten te verwijderen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "De transactie is nu bezig pakketten te downloaden..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "De transactie is nu bezig pakketten te installeren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "De transactie is nu bezig pakketten bij te werken..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "De transactie is nu bezig met opschonen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"De transactie is nu bezig afhankelijkheden van de pakketten die het zal " +"installeren op te lossen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" +"De transactie is nu bezig de ondertekening van pakketten te controleren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"De transactie is nu bezig met het vastleggen (commit) van deze set " +"pakketten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" +"De transactie is nu bezig zijn set pakketten vast te leggen (commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "De transactie is gereed!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "De transactie is geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "De transactie wacht nu op de vergrendeling..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Wacht op de gebruiker om de transactie te autoriseren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "De transactie is nu bezig bestanden te kopiëren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Nu cache van installatiebron aan het verversen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Onbekende status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Onstabiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Offline elementen voor bijwerken" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Bijwerken van %1 pakketten is mislukt\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Met succes %1 pakketten bijgewerkt" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Opwaardering beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nieuwe onstabiele versie: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nieuwe versie: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Huidige versie:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Vervangt:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nieuwe versie:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Bijwerkstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Opnieuw starten:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Fabrikant:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 afhankelijkheid)" +msgstr[1] "%2 (plus %1 afhankelijkheden)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Repository-URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Te verwijderen pakketten" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"De volgende pakketten zullen door het bijwerken verwijderd worden:\n" +"
    • %1
    \n" +"om te installeren:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Herstart de computer om de installatie af te ronden" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Wijziging van medium van type '%1' is gevraagd.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Het pakket %1 en zijn leverancier %2 vereisen dat u hun licentie " +"accepteert:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Ontbrekende ondertekening voor %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Vertrouwt u de volgende sleutel?\n" +"\n" +"Url: %1\n" +"Gebruiker: %2\n" +"Sleutel: %3\n" +"vingerafdruk: %4\n" +"Tijdstip: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Verwijderen van pakket bevestigen" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Deze actie zal het volgende pakket verwijderen:\n" +"%2" +msgstr[1] "" +"Deze actie zal de volgende pakketten verwijderen:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Vastklikken" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Deze snap-toepassing heeft uitschakeling van maatregelen voor beperking voor " +"beveiliging nodig." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Maak een lijst van alle backends die we willen laden, gescheiden door een " +"komma ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Beschadigd" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Beschikbaar" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Geïnstalleerd" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Kan worden opgewaardeerd" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Opstarten" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Controleren op bijwerken" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Elementen voor bijwerken" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Bezig met starten" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Bezig met wachten" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Bezig met downloaden" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Bezig met installeren" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Verwijderen" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Addons wijzigen" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gereed" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislukt" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Geannuleerd" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Bijwerken van toepassingen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Bijwerken van systeem" \ No newline at end of file diff --git a/po/nl/plasma-discover-notifier.po b/po/nl/plasma-discover-notifier.po new file mode 100644 index 0000000..3affc46 --- /dev/null +++ b/po/nl/plasma-discover-notifier.po @@ -0,0 +1,97 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 12:46+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Bijwerken" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Bijwerken van beveiliging is beschikbaar" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Zaken voor bijwerken zijn beschikbaar" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systeem is geheel bijgewerkt" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Opnieuw opstarten van de computer is nodig" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 bij te werken pakket" +msgstr[1] "%1 bij te werken pakketten" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "waarvan 1 element voor het bijwerken van de beveiliging" +msgstr[1] "waarvan %1 elementen voor het bijwerken van de beveiliging" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 bij te werken pakket" +msgstr[1] "%1 bij te werken pakketten" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "Iets voor bijwerken van beveiliging" +msgstr[1] "%1 elementen voor het bijwerken van de beveiligingsw" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Geen pakketten om te opwaarderen" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Een herstart is vereist" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Het systeem moet opnieuw gestart worden om het bijwerken effect te laten " +"hebben." \ No newline at end of file diff --git a/po/nl/plasma-discover.po b/po/nl/plasma-discover.po new file mode 100644 index 0000000..9a7563b --- /dev/null +++ b/po/nl/plasma-discover.po @@ -0,0 +1,651 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-22 11:28+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kon categorie '%1' niet vinden" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Kan niet samenwerken met flatpak hulpbronnen zonder de flatpak-backend %1. " +"Installeer deze eerst." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Kon %1 niet openen" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "De gespecificeerde toepassing direct openen met zijn pakketnaam." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Openen met een programma dat overweg kan met het gegeven mimetype." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Toon een lijst met items met een categorie." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Discover openen in de aangegeven modus. Modi komen overeen met de " +"werkbalkknoppen." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Maak een lijst met de beschikbare modi." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Compacte modus (auto/compact/volledig)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokaal bestand met te installeren pakket" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Maak een lijst met de beschikbare backends." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Ondersteunt appstream: url schema" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Ontdekken" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Een zoekprogramma naar toepassingen" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Ontwikkelteam van Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Beschikbare backends:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Beschikbare modi:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Addons" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Wijzigingen toepassen" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Verwerpen" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Meer..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Een nieuwe opslagruimte %1 toevoegen" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Toevoegen" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Annuleren" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 waardering" +msgstr[1] "%1 waarderingen" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Nog geen waarderingen" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Bronnen" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Wat is nieuw" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Recensies" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 review tonen..." +msgstr[1] "Alle %1 reviews tonen..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Een review schrijven!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Wees de eerste om een review te schrijven!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Deze toepassing installeren om een review te schrijven!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" +"Installeer deze toepassing en wees de eerste om een review te schrijven!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categorie:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versie:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, uitgegeven op %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Grootte:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Bron:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licentie:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Homepagina:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Gebruikersgids:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Doneren:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Een probleem rapporteren:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sorteren: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Naam" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Waardering" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Grootte" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Uitgiftedatum" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Helaas, niets gevonden..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Nog steeds aan het zoeken..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Ondersteund" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Als root uitvoeren is ontmoedigd en niet noodzakelijk." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Zoeken" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Geïnstalleerd" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Controleren op elementen voor bijwerken..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Er is niets voor bijwerken" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Bijwerken (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Instellingen" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Helaas..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Kon de toepassing niet sluiten, er zijn taken die nog gedaan moeten worden." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Hulpbron '%1' kon niet worden gevonden" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Verder gaan" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installeren" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Verwijderen" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Bezig met laden..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Hulpbronnen voor '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensies..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Taken (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Taken" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Vertel ons over deze recensie!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 van %2 personen vonden deze recensie bruikbaar" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "onbekende recensent" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 door %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Commentaar door %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Bruikbaar? Ja/Nee" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Bruikbaar? Ja/Nee" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Bruikbaar? Ja/Nee" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Nakijken van '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Waardering:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Naam inschrijving: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Titel:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Review:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Waardering invoeren" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Een titel schrijven" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Blijven schrijven..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Te lang!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Review indienen" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Nakijken..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Zoeken..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Zoeken in '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (standaard)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Maak standaard" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Bron toevoegen..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ophogen van '%1' voorkeur is mislukt" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Verlagen van '%1' voorkeur is mislukt" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Oorsprong verwijderen" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Broncode '%1' verwijderen is mislukt" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Backends ontbreken" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Elementen voor bijwerken" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Selectie Bijwerken" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Alles bijwerken" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "geselecteerde elementen voor bijwerken" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "niet geselecteerde elementen voor bijwerken" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Meer informatie..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Ophalen..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Zoeken naar elementen voor bijwerken" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Bezig met bijwerken..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Elementen voor bijwerken ophalen" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Elementen voor bijwerken" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "De pakketten op het systeem zijn bijgewerkt" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Er is niets voor bijwerken" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Geen elementen voor bijwerken beschikbaar" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Zou moeten controleren op bijwerken" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Het tijdstip van de laatste controle op bijwerken is onbekend" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Koppelingsadres kopiëren" \ No newline at end of file diff --git a/po/nl/plasma_applet_org.kde.discovernotifier.po b/po/nl/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..6a09281 --- /dev/null +++ b/po/nl/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 11:25+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Elementen voor bijwerken bekijken" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Start Discover om de software bij te werken" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Softwarecentrum openen..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Zie elementen voor bijwerken..." \ No newline at end of file diff --git a/po/nn/libdiscover.po b/po/nn/libdiscover.po new file mode 100644 index 0000000..486d64d --- /dev/null +++ b/po/nn/libdiscover.po @@ -0,0 +1,1577 @@ +# Translation of libdiscover to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2016, 2017, 2018, 2019. +# Øystein Steffensen-Alværvik , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-10-14 11:50+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 19.03.70\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Program" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tilhøyr" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Tilgjenge" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Utviklarverktøy" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Feilsøking" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Grensesnittdesign" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE-ar" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Omsetjing" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Nettutvikling" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Opplæring" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Teknikk og vitskap" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kjemi" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Reknevitskap og robotikk" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronikk" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Teknikk" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematikk" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysikk" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spel" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Brettspel" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kortspel" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puslespel" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollespel" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulering" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatorar" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikk" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Teikning" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Måling og redigering" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografering" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Forlagsverksemd" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skanning og OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Framvising" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internett" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Prat" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fildeling" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-post" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Nettlesarar" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Lyd- og videoredigering" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Musikkavspeling" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Filmavspeling" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD og DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Systemoppsett" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-tillegg" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-element" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Skrifter" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Eksempelkategori" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "eksempel" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "eksempel-tillegg" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "eksempel 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "eksempel med ting" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "eksempel 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "eksempel med mykje ting" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "eksempel 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "eksempel 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokal samling" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Ugyldig appstream-adresse «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Ukjend" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Hentar storleiksinformasjon" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Ukjend storleik" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 å lasta ned, %2 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Legg til Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Klarte ikkje leggja til kjelda %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak-pakkebrønn URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Godta EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"%1 krev at du godtek lisensvilkåra:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ugyldig %1-motor. Kontakt distributøren din." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-tillegg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Programtillegg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Feil adresse til KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Bruk" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Innloggingsinformasjon for %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Sjå til at AppStream er rett sett opp på systemet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Ikkje nok minne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Inga nettverkstilkopling tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operasjonen er ikkje støtta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Intern feil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG-feil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Ugyldig PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pakken er ikkje installert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Fann ikkje pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Pakken er installert frå før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Klarte ikkje lasta ned pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Fann ikkje pakkegruppa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakkegruppelista er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Avhengnadane vart ikkje løyste" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Ugyldig filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Klarte ikkje laga tråd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transaksjonsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaksjon avbroten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Ikkje noko mellomlager tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Fann ikkje pakkebrønnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan ikkje fjerna systempakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-tenesta krasja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Klargjeringsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Klarte ikkje fullføra transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Klarte ikkje tolka oppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan ikkje avbryta transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan ikkje setja lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakkar treng oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan ikkje skriva til pakkebrønnoppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokalinstallasjonen var mislukka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Øydelagd GPG-signatur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Fant ikkje GPG-signatur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan ikkje installera kjeldepakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Feil i oppsettet for pakkebrønnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Inga lisensavtale" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Fann fillkonfliktar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Fann pakkekonflikt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Pakkebrønn ikkje tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ugyldig pakkefil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Pakkeinstallasjonen vart blokkert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Fant øydelagd pakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakkane er installerte frå før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Fann ikkje fil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Ingen fleire speglar er tilgjengelege" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen data om distribusjonsoppgradering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Ikkje-kompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Ikkje meir plass på eininga" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Må byta medium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Du har ikkje løyve til å utføra denne handlinga" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Fann ikkje oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan ikkje installera frå usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan ikkje oppdatera frå usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan ikkje henta filliste" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan ikkje finna kva pakken krev" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan ikkje slå av pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Oppdaga nedlasting med avgrensingar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Klarte ikkje setja opp pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Klarte ikkje byggja pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Klarte ikkje installera pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Klarte ikkje fjerna pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Mislukka oppdatering, på grunn av ein køyrande prosess" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Pakkedatabasen vart endra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Det er ikkje støtte for den leverte typen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Installeringsrota er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Kan ikkje henta installasjonskjelder" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Kansellert prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ufullført transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Låsing påkravd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Ukjend feil %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» vart endra, og ber om å startast på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Ei endring av «%1» gjer at du bør logga ut og inn att." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» vart oppdatert av tryggleiksgrunnar, og du bør derfor logg ut og inn " +"att." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» vart oppdatert av tryggleiksgrunnar, og du bør starta maskina på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Ei endring av «%1» gjer at du bør starta maskina på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Programmet må startast på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Du må logga ut og inn att." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Maskina må startast på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Av tryggleiksgrunnar må du no logga ut og inn att." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Av tryggleiksgrunnar må du no starta maskina på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Ventar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Oppdaterer mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Set opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Handsamar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Fjern …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Lastar ned …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installerer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Oppdaterer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Ryddar opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Løyser opp i avhengnadar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerer signaturar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Endringstest …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Tek i bruk endringar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Fullført" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Avbrote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Ventar på lås …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Ventar på godkjenning …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopierer filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Ukjend status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Me ventar på noko." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Set opp transaksjon …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaksjonen arbeider no …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaksjonen fjernar no pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaksjonen lastar no ned pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaksjonane installerer no pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaksjonen oppdaterer no pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaksjonen ryddar no opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transaksjonen løyser no opp i avhengnadar for pakken som skal installerast …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transaksjonen kontrollerer no signaturane til pakkane …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transaksjonen testar no om endringane for pakkane kan gjerast …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transaksjonen gjer no endringar for pakkane …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaksjonen er no fullført." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaksjonen vart avbroten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaksjonen ventar no på lås …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Ventar på at brukaren skal godkjenna transaksjonen …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaksjonen kopierer no filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Friskar opp pakkebrønn-mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Ukjend status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ustabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Oppdateringar fråkopla" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Klarte ikkje oppdatera %1 pakkar\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 pakkar vart oppdaterte" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Oppgradering tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Ny ustabil versjon: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Ny versjon: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Gjeldande versjon:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Utdaterer:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Ny versjon:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Oppdateringsstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Omstart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Leverandør:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (pluss %1 avhengnad)" +msgstr[1] "%2 (pluss %1 avhengnadar)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Adresse til pakkebrønn:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pakkar å fjerna" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Desse pakkane vert fjerna av oppdateringa:\n" +"
    • %1
    \n" +"Dette er for å kunna installera:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Start maskina på nytt for å fullføra installeringa" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Må byta medium type «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Pakken %1 og pakkeleverandøren %2 krev at du godtek lisensavtala:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Manglar signatur for %1 i %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Stolar du på denne nøkkelen?\n" +"\n" +"Adresse: %1\n" +"Brukar: %2\n" +"Nøkkel: %3\n" +"Fingeravtrykk: %4\n" +"Tidsstempel: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Stadfest pakkefjerning" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Handlinga vil òg fjerna denne pakken:\n" +"%2" +msgstr[1] "" +"Handlinga vil òg fjerna desse pakkane:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +# Forklaring på: https://docs.snapcraft.io/reference/confinement +# Ikkje veldig bra omsetting, men kjem ikkje på noko betre … +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Dette snap-programmet krev at tryggleiksisolering er slått av." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Vis ei liste over alle motorar som bør vera lasta inn, skilde med komma." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Øydelagd" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Tilgjengeleg" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installert" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Oppgraderbar" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Start" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Sjå etter oppdateringar" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Oppdater" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Startar" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ventar" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Lastar ned" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerer" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Fjernar" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Endrar tillegg" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fullført" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislukka" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Avbroten" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programoppdateringar" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systemoppdateringar" \ No newline at end of file diff --git a/po/nn/plasma-discover-notifier.po b/po/nn/plasma-discover-notifier.po new file mode 100644 index 0000000..27963b4 --- /dev/null +++ b/po/nn/plasma-discover-notifier.po @@ -0,0 +1,99 @@ +# Translation of plasma-discover-notifier to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 16:28+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Oppdater" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Tryggleiksoppdateringar tilgjengelege" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Oppdateringar tilgjengelege" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systemet er oppdatert" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Maskina må startast på nytt" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakke skal oppdaterast" +msgstr[1] "%1 pakkar skal oppdaterast" + +# Vanskeleg tekst, sidan det som står før kan vera både eintal og fleirtal. Kan derfor ikkje bruka «av desse». Men trur denne varianten går bra. +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "og 1 er ei tryggleiksoppdatering" +msgstr[1] "og %1 er tryggleiksoppdateringar" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakke skal oppdaterast" +msgstr[1] "%1 pakkar skal oppdaterast" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 tryggleiksoppdatering" +msgstr[1] "%1 tryggleiksoppdateringar" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakkar treng oppdatering" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Du må starta maskina på nytt" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" +"Du må starta datamaskina på nytt for at oppdateringane skal tre i kraft." \ No newline at end of file diff --git a/po/nn/plasma-discover.po b/po/nn/plasma-discover.po new file mode 100644 index 0000000..d0f6ca3 --- /dev/null +++ b/po/nn/plasma-discover.po @@ -0,0 +1,650 @@ +# Translation of plasma-discover to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2016, 2017, 2018, 2019. +# Øystein Steffensen-Alværvik , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-13 11:04+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 19.03.70\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Fann ikkje kategorien «%1»" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Kan ikkje bruka Flatpak-ressursar med mindre Flatpak-motoren %1 er " +"tilgjengeleg. Installer han først." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Klarte ikkje opna %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Opna direkte det oppgjevne programmet etter pakkenamnet sitt." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Opna med eit program som kan handtera den aktuelle MIME-typen." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Vis ei liste over oppføringar med ein kategori." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Opna Discover i vald modus. Modusar samsvarer med knappane på verktøylinja." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Vis alle tilgjengelege modusar." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt modus (auto/kompakt/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokal pakkefil som skal installerast" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Vis alle tilgjengelege bakgrunnsmotorar." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Støttar appstream: URL-format" + +# Namnet på programmet, som eg til slutt har funne ut at ikkje bør omsetjast. – KOH +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Ein programutforskar" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010–2018 Utviklingslaget for Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Tilgjengelege motorar:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Tilgjengelege modusar:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Tillegg" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Bruk innstillingane" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Forkast" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Meir …" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Lagd til nytt %1-depot" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Legg til" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Avbryt" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 karakter" +msgstr[1] "%1 karakterar" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Ingen karakterar enno" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Kjelder" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Nytt i denne utgåva" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Tilbakemeldingar" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Vis %1 vurdering …" +msgstr[1] "Vis alle %1 vurderingane …" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Skriv ei vurdering!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Ver den første til å skriva ei vurdering!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Installer programmet for å skriva ei vurdering!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Installer programmet og ver den første til å skriva ei vurdering!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategori:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versjon:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, utgjeven %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Storleik:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Kjelde:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lisens:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Heimeside:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Brukarrettleiing:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Gje pengegåve:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Meld frå om problem:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sortering: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Namn" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Karakter" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Storleik" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Utgjevingsdato" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Fann dessverre ingenting …" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Leitar framleis …" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Framheva" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Å køyra som rotbrukar er unødvendig og sterkt frårådd." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Søk" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installerte" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Ser etter oppdateringar …" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Ingen oppdateringar" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Oppdater (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Innstillingar" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Beklagar …" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Kunne ikkje lukka programmet. Det finst oppgåver som fullførast." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Finn ikkje ressurs: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Hald fram" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Fjern" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Lastar …" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressursar for «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Utvidingar …" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Oppgåver (%1 %)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Oppgåver" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 – %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 – %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Fortel oss om vurderinga!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 av %2 syntest denne vurderinga var nyttig" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "ukjend vurderar" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1: av %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar frå %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig? Ja/Nei" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig? Ja/Nei" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttig? Ja/Nei" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Vurderer «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Karakter:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Innsendingsnamn: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Tittel:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Vurdering:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Skriv inn vurdering" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Skriv tittel" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Skriv vidare …" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "For langt!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Send inn vurdering" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Vurder …" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Søk …" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Søk i «%1» …" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (standard)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Gjer til standard" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Legg til kjelde …" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Klarte ikkje auka prioriteten for «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Klarte ikkje senka prioriteten for «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Slett kjelda" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Klarte ikkje fjerna kjelda «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Manglar bakgrunnsmotorar" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Oppdateringar" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Oppdater valde" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Oppdater alle" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "valde oppdateringar" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "ikkje-valde oppdateringar" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Meir informasjon …" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Hentar …" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Ser etter oppdateringar" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Oppdaterer …" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Hentar oppdateringar" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Oppdateringar" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Systemet er oppdatert" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Ingen oppdateringar" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Ingen oppdateringar er tilgjengelege" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Skal sjå etter oppdateringar" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Det er ikkje kjent når siste sjekk etter oppdateringar vart gjord." + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Kopier lenkjeadresse" \ No newline at end of file diff --git a/po/nn/plasma_applet_org.kde.discovernotifier.po b/po/nn/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..d86db57 --- /dev/null +++ b/po/nn/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.discovernotifier to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2018. +# Øystein Steffensen-Alværvik , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-23 13:33+0100\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Vis oppdateringar" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Startar Discover for å oppdatera programvara" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Opna Programvaresenter …" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Sjå oppdateringar …" \ No newline at end of file diff --git a/po/pa/libdiscover.po b/po/pa/libdiscover.po new file mode 100644 index 0000000..29d08d7 --- /dev/null +++ b/po/pa/libdiscover.po @@ -0,0 +1,1673 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2013-04-30 19:56+0530\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi/Panjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "ਸਹਾਇਕ" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "ਸੁਲੱਭਤਾ" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "ਡਿਵੈਲਪਰ ਟੂਲ" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "ਡੀਬੱਗ" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "ਗਰਾਫਿਕਸ ਇੰਟਰਫੇਸ ਡਿਜ਼ਾਇਨ" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "ਲੋਕਲਾਈਜ਼ੇਸ਼ਨ" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "ਪਰੋਫਾਇਲਿੰਗ" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "ਸਿੱਖਿਆ" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "ਵਿਗਿਆਨ ਤੇ ਇੰਜਨਅਰਿੰਗ" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "ਗਰੈਹ ਵਿਦਿਆ" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "ਬਾਇਓਲੋਜੀ" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "ਰਸਾਇਣ-ਵਿਗਿਆਨ" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "ਕੰਪਿਊਟਰ ਵਿਗਿਆ ਤੇ ਰੋਬੋਟ" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "ਇਲੈਕਟਰੋਨਿਕਸ" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "ਇੰਜਨੀਅਰਗ" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "ਭੂਗੋਲ" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "ਜਿਓਲੋਜੀ" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "ਗਣਿਤ" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "ਭੌਤਿਕ" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "ਖੇਡਾਂ" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "ਅਰਕਾਡੀ" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "ਬੋਰਡ ਖੇਡਾਂ" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "ਤਾਸ਼ ਖੇਡਾਂ" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Education" +msgctxt "Category" +msgid "Simulation" +msgstr "ਸਿੱਖਿਆ" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "ਖੇਡਾਂ" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Education" +msgctxt "Category" +msgid "Emulators" +msgstr "ਸਿੱਖਿਆ" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "ਗਰਾਫਿਕਸ" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "ਡਰਾਇੰਗ" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "ਫੋਟੋਗਰਾਫ਼ੀ" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "ਪਰਕਾਸ਼ਨ" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "ਸਕੈਨ ਅਤੇ ਓਸੀਆਰ" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "ਦਰਸ਼ਕ" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "ਇੰਟਰਨੈੱਟ" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "ਗੱਲਬਾਤ" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "ਫਾਇਲ ਸਾਂਝ" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "ਮੇਲ" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "ਵੈੱਬ ਬਰਾਊਜ਼ਰ" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "ਮਲਟੀਮੀਡਿਆ" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "ਦਫਤਰ" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "ਸਿਸਟਮ ਅਤੇ ਸੈਟਿੰਗ" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "ਫੋਂਟ" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "ਡਿਸਕ ਉੱਤੇੇ %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"web\"" +#| msgid "Internet" +msgid "Internal error" +msgstr "ਇੰਟਰਨੈੱਟ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package download failed" +msgstr "…ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਸੂਚੀ ਸੰਭਾਲੋ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group list invalid" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction failure" +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction canceled" +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Initialization failure" +msgstr "ਸ਼ੁਰੁਆਤ ਗਲਤੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Local install failed" +msgstr "ਪੈਕੇਜ ਅਤੀਤ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Repo configuration error" +msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File conflicts found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package conflict found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Package install blocked" +msgstr "ਪੈਕੇਜ ਅਤੀਤ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Corrupt package found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਅੱਪਗਰੇਡ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Update not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to configure" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to build" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to install" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to remove" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "ਲਾਕ ਕੀਤਾ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "ਅਣਜਾਣ ਗਲਤੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "ਉਡੀਕ ਜਾਰੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"text" +#| "\"" +#| msgid "Word Processing" +msgid "Processing..." +msgstr "ਵਰਡ ਪਰੋਸੈਸਰ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "ਹਟਾਓ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "…ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "ਸੰਚਾਰ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "ਮੁਕੰਮਲ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "ਪਰਮਾਣਕਿਤਾ ਲਈ ਉਡੀਕ ਜਾਰੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, fuzzy, kde-format +#| msgid "Setting up for install..." +msgid "Setting up transaction..." +msgstr "…ਇੰਸਟਾਲ ਲਈ ਸੈਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction has finished!" +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "The transaction was canceled" +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Waiting for the user to authorize the transaction..." +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "ਇੰਸਟਾਲ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"%1 ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "ਅੱਪਗਰੇਡਯੋਗ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "ਵਰਜਨ: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "Current Version:" +msgstr "ਵਰਜਨ: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "ਵਰਜਨ: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Packages to remove" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "ਖਰਾਬ" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "ਉਪਲੱਬਧ" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "ਇੰਸਟਾਲ ਹੈ" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "ਅੱਪਗਰੇਡਯੋਗ" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "ਅੱਪਡੇਟ ਲਈ ਚੈੱਕ ਕਰੋ" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "ਅੱਪਡੇਟ" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "ਉਡੀਕ ਜਾਰੀ" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "ਸਮਾਪਤ" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "ਅੱਪਡੇਟ" \ No newline at end of file diff --git a/po/pa/plasma-discover-notifier.po b/po/pa/plasma-discover-notifier.po new file mode 100644 index 0000000..d6f7228 --- /dev/null +++ b/po/pa/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2016-04-02 09:56UTC-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "ਸੁਰੱਕਿਆ ਅੱਪਡੇਟ ਮੌਜੂਦ ਹਨ" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "ਅੱਪਡੇਟ ਮੌਜੂਦ ਹਨ" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "ਸਿਸਟਮ ਅੱਪ ਟੂ ਡੇਟ ਹੈ" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "ਅੱਪਡੇਟ ਲਈ 1 ਪੈਕੇਜ" +msgstr[1] "ਅੱਪਡੇਟ ਲਈ %1 ਪੈਕੇਜ" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "1 ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ" +msgstr[1] "%1 ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "ਅੱਪਡੇਟ ਲਈ 1 ਪੈਕੇਜ" +msgstr[1] "ਅੱਪਡੇਟ ਲਈ %1 ਪੈਕੇਜ" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ" +msgstr[1] "%1 ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "ਅੱਪਡੇਟ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਹੈ" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/pa/plasma-discover.po b/po/pa/plasma-discover.po new file mode 100644 index 0000000..a814d15 --- /dev/null +++ b/po/pa/plasma-discover.po @@ -0,0 +1,678 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2013-04-30 19:51+0530\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi/Panjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "ਖੋਜ" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "ਜਾਨਥਨ ਥਾਮਸ" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "ਰੱਦ ਕਰੋ" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "ਐਡ-ਆਨ" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "ਰੱਦ ਕਰੋ" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "ਰੇਟਿੰਗ" +msgstr[1] "ਰੇਟਿੰਗ" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "ਸਰੋਤ" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "ਪੜਤਾਲ" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "%1 reviews" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 ਰੀਵਿਊ" +msgstr[1] "%1 ਰੀਵਿਊ" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "ਭੇਜੋ" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size:" +msgstr "ਕੁੱਲ ਸਾਈਜ਼: %1
    " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "ਸਰੋਤ" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "ਅੰਕ: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage" +msgid "Homepage:" +msgstr "ਮੁੱਖ ਪੇਜ਼" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "ਖੋਜ..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "ਨਾਂ" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "ਰੇਟਿੰਗ" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size" +msgstr "ਕੁੱਲ ਸਾਈਜ਼: %1
    " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "ਇੰਸਟਾਲ" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "ਖੋਜ..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "ਇੰਸਟਾਲ ਹੋਇਆ" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "ਸਭ ਤੋਂ ਵਧੀਆ ਰੇਟਿੰਗ" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "ਇੰਸਟਾਲ" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "ਹਟਾਓ" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "ਇਹ ਰੀਵਿਊ ਬਾਰੇ ਸਾਨੂੰ ਦੱਸੋ!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "ਫਾਇਦੇਮੰਦ? ਹਾਂ/ਨਹੀਂ" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing '%1'" +msgstr "ਰੀਵਿਊ" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "ਰੇਟਿੰਗ:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "ਰੀਵਿਊ" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "ਭੇਜੋ" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "ਰੀਵਿਊ" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "ਖੋਜ..." + +#: discover/qml/SearchField.qml:31 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "ਖੋਜ..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "ਸਰੋਤ ਸ਼ਾਮਿਲ" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All!" +msgid "Update Selected" +msgstr "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All!" +msgid "Update All" +msgstr "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/pa/plasma_applet_org.kde.discovernotifier.po b/po/pa/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..f7faf12 --- /dev/null +++ b/po/pa/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-02-01 03:33-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi/Panjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "Update" +msgid "View Updates" +msgstr "ਅੱਪਡੇਟ" + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਸਾਫਟਵੇਅਰ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, fuzzy, kde-format +#| msgid "Update" +msgid "See Updates..." +msgstr "ਅੱਪਡੇਟ" \ No newline at end of file diff --git a/po/pl/libdiscover.po b/po/pl/libdiscover.po new file mode 100644 index 0000000..90a1acf --- /dev/null +++ b/po/pl/libdiscover.po @@ -0,0 +1,1580 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Artur Chłond , 2011. +# Łukasz Wojniłowicz , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Marta Rybczyńska , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-09-01 06:29+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Programy" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Akcesoria" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Dostępność" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Narzędzia programistyczne" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Diagnozowanie" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Projektowanie interfejsu graficznego" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Tłumaczenia" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilowanie" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Programowanie internetu" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Edukacja" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Nauka i inżynieria" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemia" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informatyka i robotyka" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inżynieria" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematyka" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizyka" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Gry" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Gry zręcznościowe" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Gry planszowe" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Gry karciane" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Gry RPG" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Symulacje" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sporty" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Działanie" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatory" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Rysowanie" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Malowanie i edycja" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikowanie" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skanowanie i OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Przeglądarki" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Rozmowa" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Współdzielenie plików" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Poczta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Przeglądarki sieciowe" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Edytory dźwięku i obrazu" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Odtwarzacze muzyki" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Odtwarzacze filmów" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD i DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Biuro" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Ustawienia systemowe" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Dodatki do Plazmy" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Elementy interfejsu Plazmy" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Czcionki" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Fikcyjna kategoria" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "fikcyjny" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "fikcyjne dodatki" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "fikcyjny 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "fikcyjny z zawartością" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "fikcyjny 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "fikcyjny z dużą zawartością" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "fikcyjny 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "fikcyjny 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokalny pęk" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Zniekształcony adres url appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Nieznane" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Pobieranie informacji o rozmiarze" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Nieznany rozmiar" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 do pobrania, %2 na dysku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na dysku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Dodaj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nie można dodać źródła %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI Repozytorium Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Akceptuj EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Strona trzecia %1 wymaga przyjęcia ich licencji:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Nieprawidłowy silnik %1, napisz do swojego dystrybutora." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodatki do Plazmy" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Dodatki do programów" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Zły adres URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Użyj" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informacje logowania dla %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Upewnij się, że Appstream został poprawnie wgrany do twojego systemu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Brak pamięci" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Brak połączenia z siecią" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Działanie jest nieobsługiwane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Błąd wewnętrzny" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Niepowodzenie GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Nieprawidłowy identyfikator pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Nie wgrano pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Nie znaleziono pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Pakiet jest już wgrany" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Pobieranie pakietu nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Nie znaleziono grupy pakietów" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Wykaz grup pakietów jest nieprawidłowy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Rozwiązywanie kwestii zależności nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Nieprawidłowy filtr" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Niepowodzenie przy tworzeniu wątku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Niepowodzenie transakcji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcja anulowana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Brak pamięci podręcznej" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Nie można znaleźć repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nie można usunąć pakietu systemowego" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Usługa PackageKit uległa awarii" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Niepowodzenie inicjalizacji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Niepowodzenie przy kończeniu transakcji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Niepowodzenie przetwarzania ustawień" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nie można anulować transakcji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nie można uzyskać blokady" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Brak pakietów do uaktualnienia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nie można zapisać ustawień repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Wgrywanie lokalne nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Znaleziono zły podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Nie znaleziono podpisu GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Nie można wgrać pakietu źródłowego" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Błąd ustawień repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Brak umowy licencyjnej" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Znaleziono niezgodność plików" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Znaleziono niezgodność pakietów" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repozytorium jest niedostępne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Niepoprawny plik pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Zablokowano wgrywanie pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Znaleziono uszkodzony pakiet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Wszystkie pakiety wgrano wcześniej" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Nie znaleziono pliku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Brak dodatkowych serwerów lustrzanych" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Brak danych do uaktualnienia dystrybucji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Niezgodna architektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Brak wolnego miejsca na urządzeniu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Wymagana zmiana nośnika" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nie masz upoważnienia do wykonana tego działania" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Nie znaleziono uaktualnienia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nie można wgrać z niepodpisanego repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nie można uaktualnić z niepodpisanego repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Nie można uzyskać wykazu plików" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Nie można uzyskać zależności" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nie można wyłączyć repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Wykryto ograniczone pobieranie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Ustawienie pakietu nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Budowa pliku nie powiodła się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Wgrywanie pakietu nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Nieudane usuwanie pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Uaktualnienie nie powiodło się z powodu działającego procesu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Baza danych pakietów uległa zmianie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Podany rodzaj jest nieobsługiwany" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Główny katalog wgrywania jest nieprawidłowy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Nie można pobrać źródeł" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Anulowano priorytet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nieukończone transakcje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Wymagana blokada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Nieznany błąd %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' został zmieniony i sugeruje ponowne uruchomienie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Zmiana '%1' sugeruje ponowne uruchomienie sesji." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' został uaktualniony ze względów bezpieczeństwa, zalecane jest ponowne " +"uruchomienie sesji." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' został uaktualniony ze względów bezpieczeństwa, zalecane jest ponowne " +"uruchomienie systemu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Zmiana '%1' sugeruje ponowne uruchomienie systemu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Program będzie musiał być uruchomiony ponownie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesję będzie trzeba uruchomić ponownie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "System będzie trzeba uruchomić ponownie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Dla bezpieczeństwa, sesję tę należy będzie uruchomić ponownie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Dla bezpieczeństwa, system ten należy będzie uruchomić ponownie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Oczekiwanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Odświeżanie pamięci podręcznej pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Ustawienia..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Przetwarzanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Usuń..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Pobieranie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Wgrywanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Uaktualnianie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Czyszczenie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Rozwiązywanie zależności..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Sprawdzanie podpisów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Próba zastosowania..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Stosowanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Ukończono" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Anulowano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Oczekiwanie na blokadę..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Oczekiwanie na uwierzytelnienie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopiowanie plików..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Nieznany stan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Czekamy na coś." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Ustawianie transakcji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcja jest obecnie w trakcie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcja obecnie usuwa pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcja obecnie pobiera pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcja obecnie wgrywa pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcja obecnie uaktualnia pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcja obecnie czyści..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "Transakcja obecnie rozwiązuje zależności pakietów, które wgra..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakcja obecnie sprawdza podpisy pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Transakcja obecnie sprawdza wynik zastosowania tego zestawu pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcja obecnie zastosowuje zestaw pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcja ukończyła!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcja anulowała" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcja obecnie czeka na blokadę..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Czekanie na zatwierdzenie transakcji przez użytkownika..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcja obecnie kopiuje pliki..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Obecnie odświeża pamięć podręczną pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Nieznany stan %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Niestabilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testowe" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Uaktualnienia bez sieci" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Nie można uaktualnić %1 pakietów\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Pomyślnie uaktualniono %1 pakiety" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Dostępne uaktualnienie" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nowa niestabilna wersja: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nowa wersja: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Bieżąca wersja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Przestarzałe: " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nowa wersja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Stan uaktualnienia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Ponowne uruchomienie:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Wytwórca:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 zależność)" +msgstr[1] "%2 (plus %1 zależności)" +msgstr[2] "%2 (plus %1 zależności)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Adres URL repozytorium:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pakiety do usunięcia" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Uaktualnienie usunie następujące pakiety:\n" +"
    • %1
    \n" +"aby wgrać:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Uruchom komputer ponownie, aby ukończyć wgrywanie" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "Wymagana zmiana nośnika rodzaju '%1'.\\ %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Pakiet %1 i jego wydawca %2 wymagają od ciebie zgodzenia się na ich " +"licencję:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Brak podpisu dla %1 w %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Czy ufasz poniższemu kluczowi?\n" +"\n" +"Adres URL: %1\n" +"Użytkownik: %2\n" +"Klucz: %3\n" +"Odcisk klucza: %4\n" +"Znacznik czasu: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Potwierdź usunięcie pakietu" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Działanie to usunie także następujący pakiet:\n" +"%2" +msgstr[1] "" +"Działanie to usunie także następujące pakiety:\n" +"%2" +msgstr[2] "" +"Działanie to usunie także następujące pakiety:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Zrzuty" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Ta aplikacja snap wymaga wyłączenia ustawień bezpieczeństwa." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Wyszczególnij wszystkie silniki, które mają zostać wczytane i rozdziel je " +"przecinkami ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Uszkodzony" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Dostępny" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Wgrany" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Do uaktualnienia" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Uruchom" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Sprawdź uaktualnienia" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Uaktualnij" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Uruchamianie" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Oczekiwanie" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Pobieranie" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Wgrywanie" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Usuwanie" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Zmienianie dodatków" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gotowe" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Niepowodzenie" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Anulowany" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Uaktualnienia programów" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Uaktualnienia systemu" \ No newline at end of file diff --git a/po/pl/plasma-discover-notifier.po b/po/pl/plasma-discover-notifier.po new file mode 100644 index 0000000..cc6acf7 --- /dev/null +++ b/po/pl/plasma-discover-notifier.po @@ -0,0 +1,100 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Łukasz Wojniłowicz , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-13 20:54+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Uaktualnij" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Dostępne uaktualnienie bezpieczeństwa" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Dostępne uaktualnienia" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Twój system jest aktualny" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Komputer wymaga ponownego uruchomienia" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakiet do uaktualnienia" +msgstr[1] "%1 pakietów do uaktualnienia" +msgstr[2] "%1 pakietów do uaktualnienia" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "z czego 1 dotyczy bezpieczeństwa" +msgstr[1] "z czego %1 dotyczą bezpieczeństwa" +msgstr[2] "z czego %1 dotyczy bezpieczeństwa" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pakiet do uaktualnienia" +msgstr[1] "%1 pakietów do uaktualnienia" +msgstr[2] "%1 pakietów do uaktualnienia" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "Uaktualnienie bezpieczeństwa" +msgstr[1] "%1 uaktualnienie bezpieczeństwa" +msgstr[2] "%1 uaktualnienie bezpieczeństwa" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Brak pakietów do uaktualnienia" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Wymagane ponowne uruchomienie" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Należy ponownie uruchomić system, aby zmiany były widoczne." \ No newline at end of file diff --git a/po/pl/plasma-discover.po b/po/pl/plasma-discover.po new file mode 100644 index 0000000..4fa0547 --- /dev/null +++ b/po/pl/plasma-discover.po @@ -0,0 +1,653 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Łukasz Wojniłowicz , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +# Marta Rybczyńska , 2013. +# Kris Zadra , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-12-13 20:41+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nie można znaleźć kategorii '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Nie można obsłużyć zasobu flatpak bez silnika flatpak %1. Wgraj go najpierw." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nie można otworzyć %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Otwórz bezpośrednio podany program po nazwie jego pakietu." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Otwórz w programie, który radzi sobie z podanym typem mime." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Wyświetl listę wpisów z kategorią." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Otwórz Odkrywcę w trybie mówionym. Tryby odpowiadają przyciskom na pasku " +"narzędzi." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Wyszczególnij wszystkie dostępne tryby." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Tryb kompaktowy (auto/kompaktowy/pełny)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokalny plik pakietu do wgrania" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Wyszczególnij wszystkie dostępne silniki." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Obsługuje strumień aplikacji: schemat url" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Odkrywca" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Przeglądarka programów" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Zespół programistów Plazmy" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostępne silniki:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostępne tryby:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Dodatki" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Zastosuj zmiany" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Porzuć" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Więcej..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Dodaj nowe repozytorium %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Dodaj" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Anuluj" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Ocena:" +msgstr[1] "%1 ocen" +msgstr[2] "%1 ocen" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Brak ocen" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Źródła" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Co nowego" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Opinie" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Pokaż wszystkie %1 recenzji..." +msgstr[1] "Pokaż wszystkie %1 recenzji..." +msgstr[2] "Pokaż wszystkie %1 recenzji..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Wyraź swoją opinię!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Bądź pierwszym, który podzieli się swoją opinią!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Wgraj tę aplikację, aby podzielić się opinią!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Wgraj tę aplikację i bądź pierwszym, który podzieli się opinią!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Wersja:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, wydany w dniu %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Rozmiar:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Źródło:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licencja:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Strona domowa:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Podręcznik użytkownika" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Darowizna:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Zgłoś problem:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Uszereguj: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nazwa" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Ocena" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Rozmiar" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data wydania" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Wybacz, nic nie znaleziono..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Nadal szukam..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Przedstawiane" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Uruchamianie jako root jest niezalecane i niepotrzebne." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Szukaj" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Wgrane" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Sprawdzanie uaktualnień..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Brak uaktualnień" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Uaktualnienia (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ustawienia" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Wybacz..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Nie można zamknąć aplikacji, zostały zadania do wykonania." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nie można znaleźć zasobu: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Kontynuuj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Wgraj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Usuń" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Wczytywanie..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Zasoby dla '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Rozszerzenia..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Zadania (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Zadania" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Opowiedz nam o tej opinii!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 z %2 osób uznało tę opinię za użyteczną" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "nieznany oceniający" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 przez %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Skomentowane przez %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Użyteczna? Tak/Nie" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Użyteczna? Tak/Nie" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Użyteczna? Tak/Nie" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Opiniowanie '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nazwa recenzji: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Tytuł:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Recenzja:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Podaj ocenę" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Podaj tytuł" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Pisz dalej..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Zbyt długa!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Podeślij recenzję" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Recenzuj..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Szukaj..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Znajdź w '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Domyślny)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Uczyń domyślnym" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Dodaj źródło..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Nie udało się zwiększyć lubienia '%1'" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Nie udało się zmniejszyć lubienia '%1'" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Usuń źródło" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Nie można usunąć źródła '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Brakuje silników" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Uaktualnienia" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Uaktualnij zaznaczone" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Uaktualnij wszystko" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "wybrano uaktualnienia" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "nie wybrano uaktualnień" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Więcej informacji..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Pobieranie..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Sprawdzanie uaktualnień" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Uaktualnianie..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Pobieranie uaktualnień" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Uaktualnienia" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "System jest aktualny." + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Brak uaktualnień" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Brak uaktualnień" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Należy wyszukać uaktualnień" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Nie wiadomo kiedy po raz ostatni sprawdzano uaktualnienia" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Skopiuj adres odnośnika" \ No newline at end of file diff --git a/po/pl/plasma_applet_org.kde.discovernotifier.po b/po/pl/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..80b565c --- /dev/null +++ b/po/pl/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,39 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Łukasz Wojniłowicz , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-09-01 06:30+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Obejrzyj uaktualnienia" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Uruchamia Odkrywcę w celu uaktualnienia oprogramowania" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Otwórz ośrodek programów..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Obejrzyj uaktualnienia..." \ No newline at end of file diff --git a/po/pt/libdiscover.po b/po/pt/libdiscover.po new file mode 100644 index 0000000..e1e93a6 --- /dev/null +++ b/po/pt/libdiscover.po @@ -0,0 +1,1582 @@ +msgid "" +msgstr "" +"Project-Id-Version: muon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-03 09:52+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-SpellExtra: Muon QApt Jonathan CLI Lisp OCaml Gnustep Alien\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: Haskell Ubuntu Zope Xfce Plone Launchpad Synaptic\n" +"X-POFile-SpellExtra: Kubuntu Sitter Harald GObject SSO Power KNewStuff\n" +"X-POFile-SpellExtra: MakePlayLive Appelhans Lukas GPG PackageID PackageKit\n" +"X-POFile-SpellExtra: Chakra Akabei free PPA EULA non apt repositorio Apt\n" +"X-POFile-SpellExtra: stable deb main ppa Appstream Kate AppStream Flatpak\n" +"X-POFile-SpellExtra: flatpakrepo Flathub Snap FWUPD\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicações" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Acessórios" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Acessibilidade" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Ferramentas de Desenvolvimento" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuração" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Desenho de Interfaces Gráficas" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE's" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localização" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Análise de Performance" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Desenvolvimento Web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educação" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ciência e Engenharia" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Química" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informática e Robótica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electrónica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Engenharia" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemática" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Física" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jogos" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcada" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jogos de Tabuleiro" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jogos de Cartas" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Desempenho de Personagens" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulação" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estratégia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Desporto" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acção" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Gráficos" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Desenhos" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pintura e Edição" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicação" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Digitalização e OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualizadores" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Conversação" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Partilha de Ficheiros" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correio" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navegadores Web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimédia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editores de Áudio e Vídeo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Leitores de Áudio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Leitores de Vídeo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD e DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Escritório" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configuração do Sistema" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Elementos do Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipos de Letra" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria de Testes" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "teste" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "extensões de testes" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "teste 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "testes com coisas" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "teste 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "testes com mais algumas coisas" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "teste 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "teste 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Grupo local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL do AppStream inválido '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "A obter a informação do tamanho" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Tamanho desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 para transferir, %2 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Adicionar um Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Não foi possível adicionar a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI do repositório Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Aceitar a EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"O servidor remoto %1 precisa que aceite a licença do mesmo:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "A infra-estrutura %1 é inválida; contacte o seu distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Extensões das Aplicações" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI Inválido do KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informação da sessão para %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Certifique-se por favor que o Appstream está devidamente configurado no seu " +"sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Sem memória" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Sem ligação à rede disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "A operação não é suportada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Erro interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Erro no GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "O PackageID é inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "O pacote não foi instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "O pacote não foi encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "O pacote já está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Não foi possível transferir o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "O grupo de pacotes não foi encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "A lista de grupos de pacotes é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "A resolução de dependências foi mal-sucedida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "O filtro é inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Erro ao criar uma sub-tarefa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Problemas na transacção" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "A transacção foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Sem 'cache' disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Não é possível encontrar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Não é possível remover um pacote do sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "O serviço do PackageKit estoirou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Erro de inicialização" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Não foi possível finalizar a transacção" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "O processamento da configuração foi mal-sucedido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Não é possível cancelar a transacção" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Não é possível obter o bloqueio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Não existem pacotes para actualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Não é possível gravar a configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "A instalação local foi mal-sucedida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Foi encontrada uma assinatura de GPG inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Não foi encontrada nenhuma assinatura de GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Não é possível instalar um pacote de código" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Erro na configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Não existe acordo da licença" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Foram encontrados conflitos nos ficheiros" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Foi encontrado um conflito de pacotes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "O repositório não está disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "O ficheiro do pacote é inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "A instalação do pacote foi bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "O pacote encontrado está danificado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Todos os pacotes já estão instalados" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "O ficheiro não foi encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Não existem mais réplicas do servidor disponíveis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Não existem dados de actualização da distribuição" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "A arquitectura é incompatível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Não existe mais espaço disponível no disco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "É necessária uma mudança de disco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Não tem autorização para executar esta operação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "A actualização não foi encontrada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Não é possível instalar a partir de um repositório não-assinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Não é possível actualizar a partir de um repositório não-assinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Não é possível obter a lista de ficheiros" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Não é possível obter os requisitos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Não é possível desactivar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Foi detectada uma transferência restrita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Não foi possível configurar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Não foi possível compilar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Não foi possível instalar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Não foi possível remover o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "A actualização foi mal-sucedida, devido a um processo em execução" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "A base de dados de pacotes foi alterada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "O tipo fornecido não é suportado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "A pasta de base de instalação é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Não é possível obter o código-fonte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "A prioridade foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "A transacção não foi finalizada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "É necessário o bloqueio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "O erro %1 é desconhecido." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "O '%1' foi alterado e recomenda um reinício do sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "A alteração do '%1' sugere que reinicie a sua sessão." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"O '%1' foi actualizado por razões de segurança; recomenda-se que reinicie a " +"sessão." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"O '%1' foi actualizado por razões de segurança; recomenda-se que reinicie o " +"sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "A alteração do '%1' sugere que reinicie o seu sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "A aplicação terá de ser reiniciada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "A sessão terá de ser reiniciada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "O sistema terá de ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Por motivos de segurança, a sessão terá de ser reiniciada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Por motivos de segurança, o sistema terá de ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "À espera..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "A Actualizar a 'Cache'..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configurar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "A processar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Remover..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "A transferir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "A Instalar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "A actualizar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "A limpar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "A resolver as dependências..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "A verificar as assinaturas..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "A testar a confirmação da transacção..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "A enviar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Terminado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Cancelado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "À espera do bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "À espera da autorização..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "A copiar os ficheiros..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Estado Desconhecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Estamos à espera de algo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "A configurar a transacção..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A transacção está actualmente em curso..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A transacção está a remover pacotes de momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A transacção está a transferir pacotes de momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "As transacções estão neste momento a instalar pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A transacção está de momento a actualizar pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A transacção está a limpar dados neste momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"A transacção está a resolver de momento as dependências dos pacotes a ser " +"instalados..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" +"A transacção está neste momento a verificar as assinaturas dos pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"A transacção está de momento a testar a confirmação desta transacção..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "A transacção está de momento a confirmar o conjunto de pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "A transacção terminou!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "A transacção foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "A transacção está de momento à espera do bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "À espera que o utilizador autorize a transacção..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A transacção está de momento a copiar os ficheiros..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "A actualizar de momento a 'cache' do repositório..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "O estado %1 é desconhecido." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizações Desligadas" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Não foi possível actualizar %1 pacotes\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Foram actualizados com sucesso %1 pacotes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Actualização disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nova versão instável: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nova versão: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versão Actual:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Torna obsoleto:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nova Versão:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Estado da Actualização:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reinício:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Fornecedor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (mais %1 dependência)" +msgstr[1] "%2 (mais %1 dependências)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL do repositório:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pacotes a remover" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Os seguintes pacotes serão removidos pela actualização:\n" +"
    • %1
    \n" +"para poder instalar:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Por favor, reinicie o computador para terminar a instalação" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"É necessária a mudança do dispositivo do tipo '%1'.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"O pacote %1 e o seu fabricante %2 precisam que aceite a licença dos mesmos:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta a assinatura do %1 em %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Confia na seguinte chave?\n" +"\n" +"URL: %1\n" +"Utilizador: %2\n" +"Chave: %3\n" +"Impressão-Digital: %4\n" +"Hora: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar a remoção do pacote" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Esta acção irá também remover o seguinte pacote:\n" +"%2" +msgstr[1] "" +"Esta acção irá também remover os seguintes pacotes:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Ajustar" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Esta aplicação Snap precisa de desactivar as medidas de aumento da segurança." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Apresenta todas as infra-estruturas que deseja carregar, separadas por uma " +"vírgula ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Quebrada" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponível" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Actualizável" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Lançar" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Procurar Actualizações" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Actualizar" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "A iniciar" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "À espera" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "A Transferir" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "A Instalar" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "A Remover" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "A Mudar as Extensões" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Pronto" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mal-Sucedida" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelada" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizações das Aplicações" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizações do Sistema" \ No newline at end of file diff --git a/po/pt/plasma-discover-notifier.po b/po/pt/plasma-discover-notifier.po new file mode 100644 index 0000000..51ae790 --- /dev/null +++ b/po/pt/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 11:06+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Actualizar" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Actualizações do sistema disponíveis" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Actualizações disponíveis" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema actualizado" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "É necessário reiniciar o computador" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pacote para actualizar" +msgstr[1] "%1 pacotes para actualizar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "dos quais 1 é uma actualização de segurança" +msgstr[1] "dos quais %1 são actualizações de segurança" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pacote a actualizar" +msgstr[1] "%1 pacotes a actualizar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 actualização de segurança" +msgstr[1] "%1 actualizações de segurança" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Não existem pacotes para actualizar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "É necessário reiniciar" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "É necessário reiniciar o sistema para as actualizações fazerem efeito." \ No newline at end of file diff --git a/po/pt/plasma-discover.po b/po/pt/plasma-discover.po new file mode 100644 index 0000000..6427820 --- /dev/null +++ b/po/pt/plasma-discover.po @@ -0,0 +1,654 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-22 08:53+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-IgnoreConsistency: Launch\n" +"X-POFile-SpellExtra: Gonzalez Muon Discover Aleix Pol APT Buzz Jonathan\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: stdout appstream Hola Flatpak\n" +"X-POFile-IgnoreConsistency: Update\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Não foi possível encontrar a categoria '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Não é possível interagir com os recursos de Flatpak sem a infra-estrutura de " +"Flatpak %1. Instale-a primeiro, por favor." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Não foi possível aceder ao %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" +"Abre directamente a aplicação indicada de acordo com o nome do seu pacote." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Abrir com um programa que consiga lidar com o tipo MIME indicado." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostrar uma lista de elementos com uma dada categoria." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Abre o Discover num modo seguro. Os modos correspondem aos botões da barra " +"de ferramentas." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Mostra todos os modos disponíveis." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo Compacto (auto/compacto/completo)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "O ficheiro local do pacote a instalar" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Mostra todas as infra-estruturas disponíveis." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Suporta o esquema de URL's 'appstream:'" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Um explorador de aplicações" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 da Equipa de Desenvolvimento do Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Infra-estruturas disponíveis:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponíveis:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Extensões" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar as Alterações" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Apagar" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Mais..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Adicionar um novo repositório de %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Adicionar" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 classificação" +msgstr[1] "%1 classificações" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Ainda sem classificações" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "O Que Há de Novo" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Revisões" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostrar a revisão do %1..." +msgstr[1] "Mostrar todas as revisões do %1..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Escreva uma revisão!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Seja o primeiro a escrever uma revisão!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instale esta aplicação para escrever uma revisão!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Instale esta aplicação e seja o primeiro a escrever uma revisão!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versão:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, lançado a %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Tamanho:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Origem:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licença:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Página Web:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guia de Utilizador:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Doação:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Comunicar um Problema:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Ordenação: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Classificação" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Tamanho" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data de Lançamento" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Infelizmente, nada foi encontrado..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Ainda à procura..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Em Destaque" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "A execução root não é recomendada nem necessária." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Procurar" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "À procura de actualizações..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Sem Actualizações" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualização (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configuração" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Desculpe..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Não foi possível fechar a aplicação; existem tarefas que precisam de " +"terminar." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Não foi possível descobrir o recurso: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Prosseguir" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remover" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "A carregar..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos de '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensões..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tarefas (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tarefas" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Diga-nos algo sobre esta revisão!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 em %2 pessoas acharam útil esta revisão" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconhecido" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 de %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comentário de %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Sim/Não" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Sim/Não" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Sim/Não" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "A rever o '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Classificação:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nome da submissão: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Revisão:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Indique uma classificação" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Escreva um título" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Continue a escrever..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Demasiado longo!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Enviar a revisão" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Revisão..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Procurar..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Procurar no '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predefinição)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Tornar predefinido" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Adicionar uma Fonte..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Não foi possível aumentar a performance do '%1'" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Não foi possível diminuir a performance do '%1'" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Remover a origem" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Não foi possível remover a fonte '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Infra-Estruturas em Falta" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualizações" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Actualizar os Seleccionados" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Actualizar Tudo" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "actualizações seleccionadas" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "actualizações não seleccionadas" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Mais Informações..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "A transferir..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "À procura de actualizações" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "A actualizar..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "A obter as actualizações" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizações" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "O sistema está actualizado" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Sem actualizações" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Não estão disponíveis actualizações" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Se deve procurar por actualizações" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Desconhece-se quando foi a última pesquisa por actualizações" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copiar o endereço da ligação" \ No newline at end of file diff --git a/po/pt/plasma_applet_org.kde.discovernotifier.po b/po/pt/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..6dd4dbd --- /dev/null +++ b/po/pt/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,34 @@ +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 16:02+0100\n" +"Last-Translator: José Nuno Coelho Pires \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: Discover\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Ver as Actualizações" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Invoca o Discover para actualizar as aplicações" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Abrir o Centro de Aplicações..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Ver as Actualizações..." \ No newline at end of file diff --git a/po/pt_BR/libdiscover.po b/po/pt_BR/libdiscover.po new file mode 100644 index 0000000..b554e0e --- /dev/null +++ b/po/pt_BR/libdiscover.po @@ -0,0 +1,1580 @@ +# Translation of libdiscover.po to Brazilian Portuguese +# Copyright (C) 2010-2018 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marcus Vinícius de Andrade Gama , 2010. +# André Marcelo Alvarenga , 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2018. +# Marcus Gama , 2011, 2012, 2013. +# Luiz Fernando Ranghetti , 2012, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-11-14 09:48-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplicativos" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Acessórios" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Acessibilidade" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Ferramentas de desenvolvimento" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuração" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Desenho da interface" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localização" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Auditoria" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Desenvolvimento Web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educação" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Ciência e Engenharia" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Química" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Informática e Robótica" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Eletrônica" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Engenharia" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemática" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Física" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jogos" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jogos de tabuleiro" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jogos de cartas" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "RPG" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulação" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estratégia" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Esportes" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Ação" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Gráficos" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Desenho" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pintura e edição" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Editoração" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Digitalização e OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualizadores" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Bate-papo" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Compartilhamento de arquivos" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-mail" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navegadores Web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimídia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Editores de áudio e vídeo" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Reprodutores de áudio" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Reprodutores de vídeo" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD e DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Escritório" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configurações do sistema" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgets do Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontes" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria fictícia" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "teste" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "extensão teste " + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "teste 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "teste com coisas" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "teste 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "testes com mais algumas coisas" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "teste 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "teste 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Pacote local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL do Appstream mal formada '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Obtendo informação do tamanho" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Tamanho desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 para baixar, %2 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Adicionar Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Não foi possível adicionar a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI de repositório Flatpak URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Aceitar a EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"O servidor remoto %1 exige que você aceite a licença:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Infraestrutura %1 inválida, contate sua distribuição." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Extensões de aplicativos" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI do KNewStuff errada: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Informações de autenticação para %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Verifique se o Appstream está corretamente configurado no seu sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Memória insuficiente" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nenhuma conexão de rede disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operação não suportada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Erro interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Falha do GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "ID do pacote inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Pacote não instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Pacote não encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "O pacote já está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Falha ao baixar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Grupo do pacote não encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "A lista de grupos de pacotes é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Falha ao resolver a dependência" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Erro ao criar uma subtarefa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Problemas na transação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transação cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Nenhum cache disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Não foi possível encontrar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Não é possível remover um pacote do sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "O serviço do PackageKit falhou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Erro de inicialização" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Não foi possível finalizar a transação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Ocorreu uma falha no processamento da configuração" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Não é possível cancelar a transação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Não é possível obter o bloqueio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Nenhum pacote a atualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Não é possível gravar a configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Falha na instalação local" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Foi encontrada uma assinatura GPG inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Não foi encontrada nenhuma assinatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Não é possível instalar um pacote de código" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Erro na configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Não existe contrato de licença" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Foram encontrados conflitos nos arquivos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Foi encontrado um conflito de pacotes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "O repositório não está disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Arquivo de pacote inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "A instalação do pacote está bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "O pacote encontrado está danificado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Todos os pacotes já estão instalados" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Arquivo não encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Nenhum outro espelho disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Não há dados de atualização da distribuição" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitetura incompatível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Não há mais espaço disponível no disco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "É necessário trocar a mídia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Você não tem autorização para executar esta operação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "A atualização não foi encontrada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Não é possível instalar de um repositório não-assinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Não é possível atualizar de um repositório não-assinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Não é possível obter a lista de arquivos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Não é possível obter os requisitos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Não é possível desativar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Foi detectado um download restrito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Falha ao configurar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Falha ao compilar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Falha ao instalar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Falha ao remover o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Falha na atualização devido a um processo em execução" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "O banco de dados de pacotes foi alterado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Não há suporte ao tipo fornecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "A pasta base de instalação é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Não é possível obter o código-fonte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Prioridade cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transação não concluída" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Bloqueio necessário" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Erro desconhecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "O '%1' foi alterado e recomenda reiniciar o sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "A alteração do '%1' sugere que reinicie a sua sessão." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"O '%1' foi atualizado por razões de segurança e recomenda-se que reinicie a " +"sessão." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"O '%1' foi atualizado por razões de segurança e recomenda-se que reinicie o " +"sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "A alteração do '%1' sugere que reinicie o seu sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "O aplicativo deverá ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "A sessão deverá ser reiniciada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "O sistema deverá ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Por motivo de segurança, a sessão deverá ser reiniciada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Por motivo de segurança, o sistema deverá ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Aguardando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Atualizando o cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configurar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Processando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Remover..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Baixando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instalando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Atualizando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Limpando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolvendo dependências..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Verificando assinaturas..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Testando o envio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Enviando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Concluído" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Aguardando bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Aguardando autorização..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Copiando arquivos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Status desconhecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Estamos esperando algo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Configurando a transação..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A transação está em andamento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A transação está removendo os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A transação está baixando os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "As transação está instalando os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A transação está atualizando os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A transação está limpando as informações..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"A transação está resolvendo as dependências dos pacotes que serão " +"instalados..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "A transação está verificando as assinaturas dos pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "A transação está testando o envio deste conjunto de pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "A transação está enviando o conjunto de pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "A transação foi concluída!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "A transação foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "A transação está aguardando o bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Aguardando o usuário autorizar a transação..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A transação está copiando os arquivos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Atualizando o cache do repositório..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Status desconhecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Atualizações offline" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Falha ao atualizar %1 pacotes\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "%1 pacotes atualizados com sucesso" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Atualização disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nova versão instável: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nova versão: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Versão atual:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Torna obsoleto:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nova versão:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Estado da atualização:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reiniciar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Fabricante:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (mais %1 dependência)" +msgstr[1] "%2 (mais %1 dependências)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL do repositório:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Pacotes a remover" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Os seguintes pacotes serão removidos pela atualização:\n" +"
    • %1
    \n" +"para poder instalar:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Reinicie o computador para concluir a instalação" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"É necessário mudar o tipo da mídia '%1'.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"O pacote %1 e seu fabricante %2 precisam que você aceite a licença:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Assinatura faltando para %1 em %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Confia na seguinte chave?\n" +"\n" +"URL: %1\n" +"Usuário: %2\n" +"Chave: %3\n" +"Impressão digital: %4\n" +"Data e hora: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar remoção de pacote" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Esta ação também removerá o seguinte pacote:\n" +"%2" +msgstr[1] "" +"Esta ação também removerá os seguintes pacotes:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Este aplicativo snap necessita que as medidas de confinamento de segurança " +"sejam desabilitadas." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Lista todas as infraestruturas a serem carregadas, separadas por vírgula ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Quebrado" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponível" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Atualizável" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Iniciar" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Procurar atualizações" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Atualizar" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciando" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Aguardando" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Baixando" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalando" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Removendo" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Alterando as Extensões" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Concluído" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Falhou" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelado" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Atualizações de aplicativos" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Atualizações do sistema" \ No newline at end of file diff --git a/po/pt_BR/plasma-discover-notifier.po b/po/pt_BR/plasma-discover-notifier.po new file mode 100644 index 0000000..6e777a6 --- /dev/null +++ b/po/pt_BR/plasma-discover-notifier.po @@ -0,0 +1,97 @@ +# Translation of muon-notifier.po to Brazilian Portuguese +# Copyright (C) 2015 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2015. +# Luiz Fernando Ranghetti , 2018. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-17 10:07-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Atualizar" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Atualizações de segurança disponíveis" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Atualizações disponíveis" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistema atualizado" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "O computador necessita ser reiniciado" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pacote para atualizar" +msgstr[1] "%1 pacotes para atualizar" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "sendo 1 atualização de segurança" +msgstr[1] "sendo %1 atualizações de segurança" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 pacote para atualizar" +msgstr[1] "%1 pacotes para atualizar" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 atualização de segurança" +msgstr[1] "%1 atualizações de segurança" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Nenhum pacote a atualizar" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "A reinicialização é necessária" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "O sistema necessita ser reiniciado para as atualizações terem efeito." \ No newline at end of file diff --git a/po/pt_BR/plasma-discover.po b/po/pt_BR/plasma-discover.po new file mode 100644 index 0000000..4e8583c --- /dev/null +++ b/po/pt_BR/plasma-discover.po @@ -0,0 +1,653 @@ +# Translation of plasma-discover.po to Brazilian Portuguese +# Copyright (C) 2012-2018 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Luiz Fernando Ranghetti , 2012, 2017, 2018. +# André Marcelo Alvarenga , 2012, 2013, 2014, 2015, 2016, 2018. +# Marcus Gama , 2012. +msgid "" +msgstr "" +"Project-Id-Version: plama-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-25 14:44-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \n" +"Language-Team: Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Não foi possível encontrar a categoria '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Não é possível interagir com os recursos de Flatpak sem a infraestrutura " +"flatpak %1. Faça a instalação primeiro." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Não foi possível abrir %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" +"Abre diretamente o aplicativo indicado de acordo com o nome do seu pacote." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Abrir com um programa que consiga lidar com o tipo MIME indicado." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostrar uma lista de itens com determinada categoria." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Abre o Discover no modo informado. Os modos correspondem aos botões da barra " +"de ferramentas." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Listar todos os modos disponíveis." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo compacto (automático/compacto/completo)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Arquivo de pacote local a instalar" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Lista todas as infraestruturas disponíveis." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Suporta o esquema de URLs 'appstream:'" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Um explorador de aplicativos" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Equipe de desenvolvimento do Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Infraestruturas disponíveis:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponíveis:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Extensões" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar alterações" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Descartar" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Mais..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Adicionar um novo repositório %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Adicionar" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 avaliação" +msgstr[1] "%1 avaliações" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Sem avalições ainda" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "O que há de novo" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Análises" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mostrar a análise do %1..." +msgstr[1] "Mostrar todas as análises do %1..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Escreva uma análise!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Seja o primeiro a escrever uma análise!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Instale este aplicativo para escrever uma análise!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Instale este aplicativo e seja o primeiro a escrever uma análise!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versão:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, lançado em %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Tamanho:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Fonte:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licença:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Site:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Guia do usuário:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Doar:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Relatar um problema:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Ordenar: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Avaliação" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Tamanho" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Data de lançamento" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Desculpe, nada encontrado..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Ainda procurando..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Em destaque" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "A execução como root não é recomendada nem necessária." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Pesquisar" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Verificando por atualizações..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Sem atualizações" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Atualizar (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configurações" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Desculpe..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Não foi possível fechar o aplicativo, pois há tarefas que precisam ser " +"concluídas." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Não foi possível encontrar o recurso: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Prosseguir" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remover" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Carregando..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos de '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Extensões..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tarefas (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Tarefas" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Diga-nos algo sobre esta revisão!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 em %2 pessoas acharam útil esta revisão" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconhecido" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Comentado por %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Sim/Não" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Sim/Não" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Útil? Sim/Não" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Revisando '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Avaliação:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Nome de envio: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Revisão:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Insira uma avaliação" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Escreva um título" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Continue escrevendo..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Muito longo!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Enviar revisão" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Revisão..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Pesquisar..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Pesquisar em '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Padrão)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Tornar padrão" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Adicionar fonte..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Falha ao aumentar a preferência de '%1'" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Falha ao diminuir a preferência de '%1'" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Excluir a origem" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Falha ao remover a fonte: '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Infraestruturas faltantes" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Atualizações" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Atualizar selecionados" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Atualizar tudo" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "atualizações selecionadas" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "atualizações não selecionadas" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Mais informações..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Obtendo..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Procurando atualizações" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Atualizando..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Obtendo atualizações" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Atualizações" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "O sistema está atualizado" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Sem atualizações" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Nenhuma atualização disponível" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Deve verificar por atualizações" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Não é conhecido quando a última verificação por atualizações foi feita" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Copiar endereço do link" \ No newline at end of file diff --git a/po/pt_BR/plasma_applet_org.kde.discovernotifier.po b/po/pt_BR/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..a5b2498 --- /dev/null +++ b/po/pt_BR/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Translation of plasma_applet_org.kde.discovernotifier.po to Brazilian Portuguese +# Copyright (C) 2014-2018 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2014, 2015, 2018. +# Luiz Fernando Ranghetti , 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-22 23:45-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Exibir atualizações" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Executa o Discover para atualizar o software" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Abrir centro de software..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Ver atualizações..." \ No newline at end of file diff --git a/po/ro/libdiscover.po b/po/ro/libdiscover.po new file mode 100644 index 0000000..a11427a --- /dev/null +++ b/po/ro/libdiscover.po @@ -0,0 +1,1669 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sergiu Bivol , 2011, 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2014-05-02 12:03+0300\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "Aplicații" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accesorii" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accesibilitate" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Unelte pentru dezvoltatori" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depanare" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Proiectarea interfețelor grafice" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Medii integrate de dezvoltare" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Traducere" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilare" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Dezvoltare web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educație" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Știință și educație" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimie" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Științe informatice și robotică" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronică" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inginerie" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografie" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematică" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizică" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocuri" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Aventuri" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Jocuri de table" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Jocuri de cărți" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulare" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sporturi" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Aplicații" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simulare" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafică" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Desen" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Pictură și retușare" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicistică" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Scanare și recunoaștere optică a textului" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Vizualizare" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Discuție" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Partajare de fișiere" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Poștă" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navigatoare de Internet" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Birou" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Sistem și configurare" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Desktop Widgets" +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Controale grafice pentru birou Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonturi" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package category" +#| msgid "Category:" +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categorie:" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Necunoscută" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Necunoscută" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 de descărcat, %2 pe disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 pe disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "%1 requires user to accept its license!" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "%1 cere utilizatorului să accepte licența!" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Aplicații" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgid "No network connection available!" +msgid "No network connection available" +msgstr "Nicio conexiune de rețea disponibilă!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgid "Operation not supported!" +msgid "Operation not supported" +msgstr "Operația nu este suportată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgid "Internal error!" +msgid "Internal error" +msgstr "Eroare internă!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgid "GPG failure!" +msgid "GPG failure" +msgstr "Eșec GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgid "PackageID invalid!" +msgid "PackageID invalid" +msgstr "PackageID nevalid!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgid "Package not installed!" +msgid "Package not installed" +msgstr "Pachetul nu e instalat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package not found" +msgstr "Pachetul nu a fost găsit!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgid "Package is already installed!" +msgid "Package is already installed" +msgstr "Pachetul este instalat deja!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgid "Package download failed!" +msgid "Package download failed" +msgstr "Descărcarea pachetului a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgid "Package group not found!" +msgid "Package group not found" +msgstr "Grupul pachetului nu poate fi găsit!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgid "Package group list invalid!" +msgid "Package group list invalid" +msgstr "Grupul pachetului nu este valid!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, fuzzy, kde-format +#| msgid "Dependency resolution failed!" +msgid "Dependency resolution failed" +msgstr "Rezoluția dependențelor a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, fuzzy, kde-format +#| msgid "Filter invalid!" +msgid "Filter invalid" +msgstr "Filtru nevalid!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgid "Failed while creating a thread!" +msgid "Failed while creating a thread" +msgstr "Eșec la crearea unui fir de execuție!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgid "Transaction failure!" +msgid "Transaction failure" +msgstr "Eroare de tranzacție!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +#| msgid "Transaction canceled!" +msgid "Transaction canceled" +msgstr "Tranzacție abandonată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Nicio prestocare disponibilă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, fuzzy, kde-format +#| msgid "Cannot find repository!" +msgid "Cannot find repository" +msgstr "Depozitul nu poate fi găsit!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, fuzzy, kde-format +#| msgid "Cannot remove system package!" +msgid "Cannot remove system package" +msgstr "Nu se poate elimina pachetul de sistem!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, fuzzy, kde-format +#| msgid "The package database changed!" +msgid "The PackageKit daemon has crashed" +msgstr "Baza de date cu pachete s-a modificat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgid "Initialization failure!" +msgid "Initialization failure" +msgstr "Eroare de inițializare!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, fuzzy, kde-format +#| msgid "Failed to finalize transaction!" +msgid "Failed to finalize transaction" +msgstr "Finalizarea tranzacției a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, fuzzy, kde-format +#| msgid "Config parsing failed!" +msgid "Config parsing failed" +msgstr "Parcurgerea configurărilor a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Tranzacția nu poate fi anulată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgid "Cannot obtain lock!" +msgid "Cannot obtain lock" +msgstr "Nu se poate obține blocajul!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, fuzzy, kde-format +#| msgid "No packages to update!" +msgid "No packages to update" +msgstr "Niciun pachet de actualizat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, fuzzy, kde-format +#| msgid "Cannot write repo config!" +msgid "Cannot write repo config" +msgstr "Nu se poate scrie configurația depozitului!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgid "Local install failed!" +msgid "Local install failed" +msgstr "Instalarea locală a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, fuzzy, kde-format +#| msgid "Bad GPG signature found!" +msgid "Bad GPG signature found" +msgstr "S-a găsit semnătură GPG greșită!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, fuzzy, kde-format +#| msgid "No GPG signature found!" +msgid "No GPG signature found" +msgstr "Nu s-a găsit semnătură GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgid "Cannot install source package!" +msgid "Cannot install source package" +msgstr "Pachetul-sursă nu poate fi instalat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgid "Repo configuration error!" +msgid "Repo configuration error" +msgstr "Eroare de configurare a depozitului!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgid "No license agreement!" +msgid "No license agreement" +msgstr "Fără acord de licență!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgid "File conflicts found!" +msgid "File conflicts found" +msgstr "Au fost găsite conflicte de fișiere!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgid "Package conflict found!" +msgid "Package conflict found" +msgstr "A fost găsit un conflict de pachete!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Repo not available!" +msgid "Repo not available" +msgstr "Depozitul nu este disponibil!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, fuzzy, kde-format +#| msgid "Invalid package file!" +msgid "Invalid package file" +msgstr "Fișier-pachet nevalid!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgid "Package install blocked!" +msgid "Package install blocked" +msgstr "Instalare pachet blocată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgid "Corrupt package found!" +msgid "Corrupt package found" +msgstr "A fost găsit un pachet corupt!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgid "All packages already installed!" +msgid "All packages already installed" +msgstr "Toate pachetele sunt instalate deja!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgid "File not found!" +msgid "File not found" +msgstr "Fișierul nu a fost găsit!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, fuzzy, kde-format +#| msgid "No more mirrors available!" +msgid "No more mirrors available" +msgstr "Nu mai sunt oglinzi disponibile!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "No distro upgrade data!" +msgid "No distro upgrade data" +msgstr "Nu sunt date despre înnoirea distribuției!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, fuzzy, kde-format +#| msgid "Incompatible architecture!" +msgid "Incompatible architecture" +msgstr "Arhitectură incompatibilă!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, fuzzy, kde-format +#| msgid "No space on device left!" +msgid "No space on device left" +msgstr "Nu a mai rămas loc pe dispozitiv!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgid "A media change is required!" +msgid "A media change is required" +msgstr "Este necesară o schimbare a mediului!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, fuzzy, kde-format +#| msgid "You have no authorization to execute this operation!" +msgid "You have no authorization to execute this operation" +msgstr "Nu sunteți autorizat să executați această operație!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgid "Update not found!" +msgid "Update not found" +msgstr "Actualizarea nu a fost găsită!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, fuzzy, kde-format +#| msgid "Cannot install from unsigned repo!" +msgid "Cannot install from unsigned repo" +msgstr "Nu se poate instala din depozit nesemnat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgid "Cannot update from unsigned repo!" +msgid "Cannot update from unsigned repo" +msgstr "Nu se poate actualiza din depozit nesemnat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, fuzzy, kde-format +#| msgid "Cannot get file list!" +msgid "Cannot get file list" +msgstr "Lista fișierelor nu poate fi obținută!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, fuzzy, kde-format +#| msgid "Cannot get requires!" +msgid "Cannot get requires" +msgstr "Cerințele nu pot fi obținute!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, fuzzy, kde-format +#| msgid "Cannot disable repository!" +msgid "Cannot disable repository" +msgstr "Depozitul nu poate fi dezactivat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, fuzzy, kde-format +#| msgid "Restricted download detected!" +msgid "Restricted download detected" +msgstr "A fost detectată o descărcare restricționată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +#| msgid "Package failed to configure!" +msgid "Package failed to configure" +msgstr "Configurarea pachetului a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgid "Package failed to install!" +msgid "Package failed to build" +msgstr "Instalarea pachetului a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgid "Package failed to install!" +msgid "Package failed to install" +msgstr "Instalarea pachetului a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgid "Package failed to remove!" +msgid "Package failed to remove" +msgstr "Eliminarea pachetului a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, fuzzy, kde-format +#| msgid "The package database changed!" +msgid "The package database changed" +msgstr "Baza de date cu pachete s-a modificat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, fuzzy, kde-format +#| msgid "The provided type is not supported!" +msgid "The provided type is not supported" +msgstr "Tipul furnizat nu este susținut!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, fuzzy, kde-format +#| msgid "Install root is invalid!" +msgid "Install root is invalid" +msgstr "Rădăcina instalării nu este validă!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources!" +msgid "Cannot fetch sources" +msgstr "Nu se pot obține sursele!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, fuzzy, kde-format +#| msgid "Canceled priority!" +msgid "Canceled priority" +msgstr "Prioritate anulată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, fuzzy, kde-format +#| msgid "Unfinished transaction!" +msgid "Unfinished transaction" +msgstr "Tranzacție nefinalizată!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgid "Lock required!" +msgid "Lock required" +msgstr "Blocaj necesar!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgid "Unknown error" +msgid "Unknown error %1." +msgstr "Eroare necunoscută" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1” a fost modificată și sugerează să fie repornită." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "O modificare adusă de „%1” sugerează repornirea sesiunii." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "O modificare adusă de „%1” sugerează repornirea sistemului." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Se așteaptă..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Configurare..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Se prelucrează..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Elimină..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Se descarcă..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Se instalează..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Se actualizează..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Se curăță..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Se rezolvă dependențe..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Se verifică semnături..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Se testează comiterea..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Se comite..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Încheiat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, fuzzy, kde-format +#| msgid "Canceled." +msgid "Canceled" +msgstr "Anulat." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Se așteaptă blocajul..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Se așteaptă autorizarea..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Se copiază fișiere..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Stare necunoscută" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Se așteaptă ceva." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Se configurează tranzacția..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Tranzacția lucrează acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Tranzacția elimină pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Tranzacția descarcă pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Tranzacția instalează pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Tranzacția actualizează pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Tranzacția curăță acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Tranzacția rezolvă momentan dependențele pachetelor ce vor fi instalate..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Tranzacția verifică momentan semnăturile pachetelor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Tranzacția s-a încheiat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Tranzacția a fost anulată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Tranzacția așteaptă blocajul acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Se așteaptă ca utilizatorul să autorizeze tranzacția..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Tranzacția copiază fișiere acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgid "Unknown Status" +msgid "Unknown status %1." +msgstr "Stare necunoscută" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Instalat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Aplicații" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Descărcarea %1 a eșuat\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Actualizabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Versiune %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Dependencies of the Current Version" +msgid "Current Version:" +msgstr "Dependențele versiunii curente" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Versiune %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "Package failed to remove!" +msgid "Packages to remove" +msgstr "Eliminarea pachetului a eșuat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "Unable to download the following packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Următoarele pachete nu pot fi descărcate:" +msgstr[1] "Următoarele pachete nu pot fi descărcate:" +msgstr[2] "Următoarele pachete nu pot fi descărcate:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Deteriorat" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Disponibil" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Instalat" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Actualizabil" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Caută actualizări" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Actualizări" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Se pornește" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Se așteaptă" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Se descarcă" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Se instalează" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Se elimină" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Se modifică suplimentele" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gata" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Canceled." +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Anulat." + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aplicații" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizări" \ No newline at end of file diff --git a/po/ro/plasma-discover-notifier.po b/po/ro/plasma-discover-notifier.po new file mode 100644 index 0000000..3cff639 --- /dev/null +++ b/po/ro/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sergiu Bivol , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-04-20 14:34+0300\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Actualizări de securitate disponibile" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Actualizări disponibile" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistem la zi" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, fuzzy, kde-format +#| msgid "%1 packages to update" +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 pachete de actualizat" +msgstr[1] "%1 pachete de actualizat" +msgstr[2] "%1 pachete de actualizat" + +#: notifier/DiscoverNotifier.cpp:161 +#, fuzzy, kde-format +#| msgid "%1 security updates" +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "%1 actualizări de securitate" +msgstr[1] "%1 actualizări de securitate" +msgstr[2] "%1 actualizări de securitate" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:166 +#, fuzzy, kde-format +#| msgid "%1 packages to update" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 pachete de actualizat" +msgstr[1] "%1 pachete de actualizat" +msgstr[2] "%1 pachete de actualizat" + +#: notifier/DiscoverNotifier.cpp:168 +#, fuzzy, kde-format +#| msgid "%1 security updates" +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 actualizări de securitate" +msgstr[1] "%1 actualizări de securitate" +msgstr[2] "%1 actualizări de securitate" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Niciun pachet de actualizat" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/ro/plasma-discover.po b/po/ro/plasma-discover.po new file mode 100644 index 0000000..66d39f0 --- /dev/null +++ b/po/ro/plasma-discover.po @@ -0,0 +1,687 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sergiu Bivol , 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2014-04-14 11:54+0300\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Deschide aplicația specificată direct, după denumirea pachetului său." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Deschide cu un program care se descurcă cu tipul MIME cerut." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Afișează o listă de înregistrări cu o categorie." + +#: discover/main.cpp:48 +#, fuzzy, kde-format +#| msgid "" +#| "Open Muon Discover in a said mode. Modes correspond to the toolbar " +#| "buttons." +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Deschide „Descoperire Muon” într-un regim dat. Regimurile corespund " +"butoanelor de pe bara de unelte." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Enumeră toate regimurile disponibile." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Enumeră toate platformele disponibile." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Descoperă" + +#: discover/main.cpp:96 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "Descoperitor de aplicații" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Platforme disponibile:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Regimuri disponibile:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Suplimente" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Elimină" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Suplimente" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Renunță" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Evaluare" +msgstr[1] "Evaluare" +msgstr[2] "Evaluare" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Surse" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Recenzii" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "More comments (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Mai multe comentarii (%1)..." +msgstr[1] "Mai multe comentarii (%1)..." +msgstr[2] "Mai multe comentarii (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Trimite" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: " +msgid "Version:" +msgstr "Versiune: " + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: " +msgid "Size:" +msgstr "Dimensiune totală: " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Surse" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "License: " +msgid "License:" +msgstr "Licență: " + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Pagină web: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "Caută în „%1”..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Denumire" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Evaluare" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: " +msgid "Size" +msgstr "Dimensiune totală: " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Instalează" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Căutare..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalat" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Actualizează" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "Actualizează" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualizează" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Cele mai bune evaluări" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalează" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Elimină" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Se încarcă..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Actualizează" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Spuneți-ne despre această recenzie!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 din %2 persoane au considerat utilă această recenzie" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "%1
    %2" +msgid "%1 by %2" +msgstr "%1
    %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Comentarii" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utilă? Da/Nu" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utilă? Da/Nu" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Utilă? Da/Nu" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing '%1'" +msgstr "Se recenzează %1" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Evaluare:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Recenzie" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Se încarcă..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Trimite" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Recenzie" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Căutare..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Caută în „%1”..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Adaugă sursă" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Actualizează" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Actualizează tot" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Actualizează tot" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Se încarcă..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Actualizează" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "Se încarcă..." + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Actualizează" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Actualizează" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Actualizează" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/ro/plasma_applet_org.kde.discovernotifier.po b/po/ro/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..c19003b --- /dev/null +++ b/po/ro/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,42 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sergiu Bivol , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-04-20 14:35+0300\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "Update" +msgid "View Updates" +msgstr "Actualizare" + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Lansează aplicația pentru actualizare" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, fuzzy, kde-format +#| msgid "Update" +msgid "See Updates..." +msgstr "Actualizare" \ No newline at end of file diff --git a/po/ru/libdiscover.po b/po/ru/libdiscover.po new file mode 100644 index 0000000..7ef8e62 --- /dev/null +++ b/po/ru/libdiscover.po @@ -0,0 +1,1597 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yuri Efremov , 2010, 2011, 2012, 2013, 2014. +# Alexander Potashev , 2010, 2011, 2014, 2015, 2016, 2017, 2018. +# Alexander Lakhin , 2013. +# Alexander Yavorsky , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-10-06 20:37+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Приложения" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Инструменты" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Специальные возможности" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Инструменты для разработки" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Отладка" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Построение интерфейсов" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Среды разработки" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локализация" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Средства профилирования" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Веб-разработка" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образование" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Научные и инженерные" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономия" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биология" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Информационные технологии" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Электроника" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инженерия" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "География" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геология" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игры" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркады" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Настольные игры" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карточные игры" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Головоломки" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Ролевые игры" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симуляторы" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Стратегические игры" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортивные игры" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Сюжетные игры" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Эмуляторы" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графические" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Черчение и рисование" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Рисование и редактирование" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотография" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Публикация" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Сканирование и распознавание" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Программы просмотра" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Общение" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Общий доступ к файлам" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Почта" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб-браузеры" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мультимедиа" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Редакторы аудио и видео" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Аудиопроигрыватели" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Видеопроигрыватели" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD и DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офис" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Параметры системы" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Расширения к Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Виджеты Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Шрифты" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Тестовая категория" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "тест" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "тестовые расширения" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "тест 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "тест с содержимым" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "тест 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "тест со значительным содержимым" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "тест 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "тест 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Локальный файл пакета Flatpak" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Некорректная ссылка AppStream «%1»." + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "неизвестная" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Определение размера..." + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Неизвестный размер" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "Для загрузки: %1, будет занято на диске: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "Будет занято %1 на диске" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Добавить репозиторий Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не удалось добавить репозиторий %1." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Ссылка на репозиторий Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Лицензионное соглашение" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Поставщик %1 требует принять условия лицензионного соглашения:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Некорректный модуль поддержки %1, обратитесь к разработчиками вашего " +"дистрибутива." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Расширения к Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Расширения к приложениям" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Некорректный адрес URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Использовать" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Доступ к %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Проверьте правильность установки Appstream на компьютере." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Недостаточно памяти." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Нет доступного сетевого соединения." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Действие не поддерживается." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Внутренняя ошибка." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Ошибка GPG." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Некорректный PackageID." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Пакет не установлен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Пакет не найден." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Пакет уже установлен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Не удалось загрузить пакет." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Не удалось найти группу пакетов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Некорректный список групп пакетов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Не удалось разрешить зависимости." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Некорректный фильтр." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Не удалось создать поток выполнения." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Ошибка выполнения операции." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Операция отменена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Данные в кэше недоступны." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Не удалось найти репозиторий." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Невозможно удалить системный пакет." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Произошёл сбой фоновой службы PackageKit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Ошибка инициализации." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Не удалось завершить операцию." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "При обработке файла конфигурации произошла ошибка." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Невозможно отменить операцию." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Не удалось установить блокировку." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Нет пакетов для обновления." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Не удалось записать конфигурационный файл репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Не удалось установить локально." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Найдена некорректная подпись GPG." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Не найдена подпись GPG." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Не удалось установить пакет с исходным кодом." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Ошибка настройки репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Отсутствует лицензионное соглашение." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Обнаружен конфликт файлов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Обнаружен конфликт пакетов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Репозиторий недоступен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Некорректный файл пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Установка пакета заблокирована." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Найден повреждённый пакет." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Все пакеты уже установлены." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Файл не найден." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Список доступных зеркал исчерпан." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Нет данных по обновлению дистрибутива." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Несовместимая архитектура." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Недостаточно места на устройстве хранения данных." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Требуется сменить носитель." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "У вас нет прав на выполнение этого действия." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Обновление не найдено." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Невозможно выполнить установку из неподписанного репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Невозможно выполнить обновление из неподписанного репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Не удалось получить список файлов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Не удалось получить необходимые пакеты." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Не удалось отключить репозиторий." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Обнаружено ограничение загрузки." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Ошибка настройки пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Ошибка сборки пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Ошибка установки пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Ошибка удаления пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ошибка обновления из-за запущенного процесса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "База данных пакетов была изменена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Данный тип не поддерживается." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Установка с правами администратора (root) недопустима." + +# BUGME: please clarify what is "sources" - source code or source of s/w downloads? --aspotashev +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Не удалось получить данные из источников программ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Приоритет отменён." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Незавершённая операция." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Требуется блокировка." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Неизвестная ошибка %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» был изменён и будет перезапущен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "После изменений «%1» рекомендуется выполнить перезапуск сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» был обновлён в целях безопасности, рекомендуется выполнить перезапуск " +"сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» был обновлён в целях безопасности, рекомендуется выполнить перезапуск " +"системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "После изменений «%1» рекомендуется выполнить перезапуск системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Потребуется перезапуск приложения." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Потребуется перезапуск сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Потребуется перезагрузка системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "В целях безопасности рекомендуется перезапуск сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "В целях безопасности рекомендуется перезагрузка системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Ожидание..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Обновление кэша..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Настройка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Обработка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Удаление..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Загрузка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Установка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Обновление..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Очистка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Разрешение зависимостей..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Проверка подписей..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Проверка сохранения изменений..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Сохранение изменений..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Завершено." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Отменено." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Ожидание блокировки..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Ожидание авторизации..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Копирование файлов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Неизвестное состояние" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Ожидание события..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Выполняется настройка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Выполняется операция..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Выполняется удаление пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Выполняется загрузка пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Выполняется установка пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Выполняется обновление пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Выполняется очистка от ненужных данных..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Выполняется разрешение зависимостей пакетов, которые будут установлены..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Выполняется проверка подписей пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Выполняется проверка сохранения изменений набора пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Выполняется сохранение изменений набора пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Операция выполнена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Операция отменена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Выполняется ожидание блокировки..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Ожидание авторизации..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Выполняется копирование файлов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Выполняется обновление кэша репозитория..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Неизвестное состояние %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "стабильное" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "нестабильное" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "тестовое" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Автономные обновления" + +# BUGME: please add plurals --aspotashev +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Не удалось обновить %1 пакета(-ов)\n" +"%2" + +# BUGME: please add plurals --aspotashev +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Успешно обновлены %1 пакета(-ов)" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Доступно обновление дистрибутива" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Новая нестабильная версия: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Новая версия: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Текущая версия:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Замещает:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Новая версия:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Статус обновления:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Перезапуск:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Поставщик:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (и %1 зависимость)" +msgstr[1] "%2 (и %1 зависимости)" +msgstr[2] "%2 (и %1 зависимостей)" +msgstr[3] "%2 (и %1 зависимость)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Адрес репозитория:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Удаление пакетов" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Следующие пакеты будут удалены в процессе обновления:\n" +"
    • %1
    \n" +"для установки:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Для завершения установки требуется перезагрузка" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Запрошена смена носителя «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Для установки пакета %1 с поставщиком %2 требуется принять условия " +"лицензионного соглашения:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Отсутствует подпись пакета %1 из репозитория %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Доверять этому ключу?\n" +"\n" +"Адрес: %1\n" +"Имя пользователя: %2\n" +"Ключ: %3\n" +"Отпечаток ключа: %4\n" +"Метка времени: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Подтверждение удаления пакета" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Это действие также удалит следующие пакеты:\n" +"%2" +msgstr[1] "" +"Это действие также удалит следующие пакеты:\n" +"%2" +msgstr[2] "" +"Это действие также удалит следующие пакеты:\n" +"%2" +msgstr[3] "" +"Это действие также удалит следующий пакет:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 — %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Для работы приложения snap требуется отключить механизмы ограждения данных " +"от несанкционированного использования." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Указать названия модулей реализации, которые следует загрузить, разделённые " +"запятыми («,»)." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Повреждено" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Доступно" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Установлено" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Можно обновить" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Запустить" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Проверить обновления" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Обновления" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/с" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Запуск" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ожидание" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Загрузка" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Установка" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Удаление" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Изменение дополнений" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Готово" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Произошла ошибка" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Отменено" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Обновления приложений" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Обновления пакетов" \ No newline at end of file diff --git a/po/ru/plasma-discover-notifier.po b/po/ru/plasma-discover-notifier.po new file mode 100644 index 0000000..946372b --- /dev/null +++ b/po/ru/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Alexander Potashev , 2015, 2016, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-09-22 03:06+0300\n" +"Last-Translator: Alexander Potashev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Обновить" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Доступны обновления безопасности" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Доступны обновления" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Система находится в актуальном состоянии" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Требуется перезагрузка компьютера" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакет для обновления" +msgstr[1] "%1 пакета для обновления" +msgstr[2] "%1 пакетов для обновления" +msgstr[3] "%1 пакет для обновления" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "из которых %1 обновление безопасности" +msgstr[1] "из которых %1 обновления безопасности" +msgstr[2] "из которых %1 обновлений безопасности" +msgstr[3] "из которых %1 обновление безопасности" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакет для обновления" +msgstr[1] "%1 пакета для обновления" +msgstr[2] "%1 пакетов для обновления" +msgstr[3] "%1 пакет для обновления" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 обновление безопасности" +msgstr[1] "%1 обновления безопасности" +msgstr[2] "%1 обновлений безопасности" +msgstr[3] "%1 обновление безопасности" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Нет пакетов для обновления" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Требуется перезагрузка" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Для применения обновлений требуется перезагрузка системы." \ No newline at end of file diff --git a/po/ru/plasma-discover.po b/po/ru/plasma-discover.po new file mode 100644 index 0000000..130b832 --- /dev/null +++ b/po/ru/plasma-discover.po @@ -0,0 +1,822 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yuri Efremov , 2012, 2013, 2014. +# Alexander Lakhin , 2013. +# Alexander Potashev , 2015, 2016, 2017, 2018. +# Artem Grinev , 2016. +# Alexander Yavorsky , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-11-21 21:37+0300\n" +"Last-Translator: Alexander Yavorsky \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не удалось найти категорию «%1»." + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Для использования формат flatpak требуется установка модуля для работы с " +"этим форматом (%1)." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не удалось открыть файл %1." + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Запуск программы по имени пакета." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" +"Открыть с помощью программы, которая способна обрабатывать данные этого типа " +"MIME." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Отображение списка записей с категорией." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Открыть Discover в указанном режиме. Названия режимов соответствуют " +"названиям кнопок панели инструментов." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Список всех доступных режимов." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Компактный режим (автоматически/компактный/полный)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Локальный файл пакета, который следует установить." + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Список всех доступных модулей." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Поддерживает схему URL «appstream:»." + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Центр программ Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Центр приложений" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© Команда разработчиков Plasma, 2010-2018" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступные модули:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступные режимы:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Дополнения" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Применить изменения" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Отклонить" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Дополнительно..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Добавление репозитория %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Добавить" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Отмена" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 оценка" +msgstr[1] "%1 оценки" +msgstr[2] "%1 оценок" +msgstr[3] "%1 оценка" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Пока нет оценок" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Источники" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Нововведения" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Отзывы" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Показать %1 отзыв..." +msgstr[1] "Показать %1 отзыва..." +msgstr[2] "Показать %1 отзывов..." +msgstr[3] "Показать %1 отзыв..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Оставить отзыв" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Стать автором первого отзыва" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Установите это приложение, чтобы оставить отзыв!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Установите это приложение и оставьте первый отзыв!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Категория:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Версия:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1 от %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Размер:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Источник:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Лицензия:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Домашняя страница:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Руководство пользователя:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Сделать пожертвование:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Сообщить о проблеме:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Сортировать: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "По названию" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "По оценке" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "По размеру" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "По дате выпуска" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Ничего не найдено." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Выполняется поиск..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Рекомендованные" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Запуск от имени администратора (root) не рекомендуется и не " +"требуется." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Поиск" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Установленные" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Проверка наличия обновлений..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Обновлений нет" + +# BUGME: should be "%1 updates" with plurals --aspotashev +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Обновления (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Настройка" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Ошибка..." + +# BUGME: please change "Cannot" if it's not allowed to close the applciation - this is to indicate that the problem is permanent --aspotashev +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Невозможно закрыть приложение, так как не все задачи выполнены." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не удалось найти ресурс: «%1»" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Продолжить" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Установить" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Удалить" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Загрузка..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ресурсы для «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Расширения..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Задачи (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Задачи" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Сообщите нам своё мнение об этом отзыве!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 из %2 пользователей считают этот отзыв полезным" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "Неизвестный автор" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 от %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Комментарий от %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Считаете отзыв полезным? Да/Нет" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Считаете отзыв полезным? Да/Нет" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Считаете отзыв полезным? Да/Нет" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Отзыв о «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Оценка:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Используемое имя: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Заголовок:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Отзыв:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Поставьте оценку" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Введите заголовок" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Продолжайте писать..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Слишком длинный отзыв!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Отправить отзыв" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Написать отзыв..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Поиск..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Поиск в «%1»..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (по умолчанию)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Использовать по умолчанию" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Добавить источник..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Не удалось увеличить приоритет «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Не удалось уменьшить приоритет «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Удалить источник" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Не удалось удалить источник «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Отсутствующие модули" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Обновления" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Обновить выбранные" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Обновить все" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "обновлений выбраны" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "обновлений не выбраны" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Дополнительная информация..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Получение..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Проверка наличия обновлений" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Обновление..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Идёт загрузка обновлений" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Обновления" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "ПО на компьютере находится в актуальном состоянии" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Обновлений нет" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Нет доступных обновлений" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Требуется проверка наличия обновлений" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" +"Неизвестно, когда в последний раз выполнялась проверка наличия обновлений" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Скопировать адрес ссылки" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# BUGME: probably needs a ellipsis (if open a dialog) --aspotashev + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# BUGME: needs plurals --aspotashev + + + + + + + + + + + + +# BUGME: needs plurals --aspotashev \ No newline at end of file diff --git a/po/ru/plasma_applet_org.kde.discovernotifier.po b/po/ru/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..c8c41f6 --- /dev/null +++ b/po/ru/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Alexander Potashev , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-09-14 15:09+0300\n" +"Last-Translator: Alexander Potashev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +# Над кнопкой сообщается, какие обновления доступны. Обновления можно _установить_. --aspotashev +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Просмотреть обновления..." + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Запустить Discover, чтобы обновить программное обеспечение" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Открыть центр программ..." + +# Над кнопкой сообщается, какие обновления доступны. Обновления можно _установить_. --aspotashev +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Просмотреть обновления..." + +# Над кнопкой сообщается, какие обновления доступны. Обновления можно _установить_. --aspotashev \ No newline at end of file diff --git a/po/sk/libdiscover.po b/po/sk/libdiscover.po new file mode 100644 index 0000000..b6a22ef --- /dev/null +++ b/po/sk/libdiscover.po @@ -0,0 +1,1576 @@ +# translation of libmuon.po to Slovak +# Richard Fric , 2010. +# Milan Basa , 2011. +# Roman Paholík , 2013, 2014, 2015, 2016, 2017. +# Mthw , 2018. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-09-15 11:07+0100\n" +"Last-Translator: Mthw \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Aplikácie" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Príslušenstvo" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Prístupnosť" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Nástroje pre vývojárov" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Ladenie" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Návrh grafického rozhrania" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Vývojové prostredia" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizácia" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilovanie" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Vývoj webu" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Vzdelávanie" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Veda a strojárstvo" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronómia" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biológia" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chémia" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Počítačová veda a robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Strojárstvo" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geológia" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fyzika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Hry" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkády" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Stolové hry" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kartové hry" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Skladačky" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "RPG" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulátory" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Stratégie" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Športovanie" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Akcia" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulátory" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Kresba" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Maľovanie a editovanie" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografovanie" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikovanie" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skenovanie a OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Prehliadače" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Rozhovor" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Zdieľanie súborov" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Pošta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webové prehliadače" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimédiá" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Audio a video Editory" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Hudobné prehrávače" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Video prehrávače" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD a DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kancelária" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Systémové nastavenia" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Doplnky Plasma" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgety Plasma" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Písma" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Prázdna kategória" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "prázdne addony" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy s niečím" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "dummy 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy s ešte niečím" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Miestny balík" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Neplatné appstream url '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Neznáme" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Získavam informácie o veľkosti" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Neznáma veľkosť" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 na stiahnutie, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Pridať Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nemôžem pridať zdroj %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI repozitára Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Prijať EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Vzdialený %1 vyžaduje, aby ste prijali ich licenciu:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Neplatný %1 backend, kontaktujte svojho distribútora." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Doplnky Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Addony aplikácií" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Zlé KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Použiť" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Prihlasovacie informácie pre %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Prosím, uistite sa, že Appstream je správne nastavený na vašom systéme" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Nedostatok pamäte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nie je dostupné sieťové pripojenie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Operácia nie je podporovaná" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Interná chyba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG zlyhanie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID neplatné" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Balík nie je nainštalovaný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Balík nebol nájdený" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Balík je už nainštalovaný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Stiahnutie balíka zlyhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Skupina balíkov nenájdená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Zoznam skupín balíkov neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Riešenie závislostí zlyhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filter neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Zlyhanie počas vytvárania vlákna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Zlyhanie transakcie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcia zrušená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Nie je dostupná vyrovnávacia pamäť." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Nemôžem nájsť repozitár" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nemôžem odstrániť systémový balík" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Démon PackageKit spadol" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Chyba inicializácie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Nemôžem ukončiť transakciu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Spracovanie nastavenia zlyhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nemôžem zrušiť transakciu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nemôžem získať zámok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Žiadne balíky na aktualizáciu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nemôžem zapísať repo config" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokálna inštalácia zlyhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Našiel sa neplatný GPG podpis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Nenašiel sa žiadny GPG podpis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Nemôžem nainštalovať zdrojový balík" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Chyba nastavenia repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Žiadne podmienky použitia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Našli sa konflikty súborov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Našiel sa konflikt balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Repozitár nie je dostupný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Neplatný súbor balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Inštalácia balíka zablokovaná" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Našiel sa poškodený balík" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Všetky balíky už nainštalované" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Súbor nenájdený" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Nie je dostupných viac zrkadiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Žiadne údaje o aktualizácii distribúcie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nekompatibilná architektúra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Nie je miesto na zariadení" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Je vyžadovaná zmena média" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nemáte oprávnenie na vykonanie tejto operácie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Aktualizácia nenájdená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nemôžem inštalovať z nepodpísaného repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nemôžem aktualizovať z nepodpísaného repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Nemôžem získať zoznam súborov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Nemôžem získať požiadavky" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nemôžem zakázať repozitár" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Zistilo sa obmedzené stiahnutie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Konfigurácia balíka zlyhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Zostavenie balíka zlyhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Inštalácia balíka zlyhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Zlyhalo odstránenie balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Aktualizácia zlyhala kvôli bežiacemu procesu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Databáza balíkov sa zmenila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Zadaný typ nie je podporovaný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Inštalačný koreň je neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Nemôžem natiahnuť zdroje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Zrušená priorita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nedokončená transakcia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Vyžaduje sa zámok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Neznáma chyba %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' sa zmenilo a odporúča reštart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Zmena od '%1' odporúča reštartovať vaše sedenie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' bolo aktualizované z bezpečnostných dôvodov, odporúča sa reštart " +"sedenia." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' bolo aktualizované z bezpečnostných dôvodov, odporúča sa reštart " +"systému." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Zmena od '%1' odporúča reštartovať váš systém." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplikácia bude musieť byť reštartovaná." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sedenie bude musieť byť reštartované" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Systém bude musieť byť reštartovaný." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Kvôli bezpečnosti bude musieť byť sedenie reštartované." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Kvôli bezpečnosti bude musieť byť systém reštartovaný." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Čakám..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Obnovujem cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Nastavenie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Spracúvam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Odstrániť..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Sťahujem ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Inštaluje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Aktualizuje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Čistí sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Riešia sa závislosti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrolujú sa podpisy..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Test potvrdenia..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Odosielanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Dokončené" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Zrušené" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čaká sa na zámok..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čaká sa na oprávnenie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopírujú sa súbory..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Neznámy stav" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Čakáme na niečo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Nastavujem transakciu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcia práve pracuje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcia práve odstraňuje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcia práve sťahuje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcia práve inštaluje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcia práve aktualizuje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcia práve čistí..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "Transakcia práve rieši závislosti balíkov, ktoré nainštaluje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakcia práve kontroluje podpisy balíkov..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transakcia práve testuje potvrdenie tejto sady balíkov..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcia práve potvrdzuje svoju sadu balíkov..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcia sa ukončila!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcia bola zrušená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcia práve čaká na zámok..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čaká sa na overenie transakcie od používateľa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcia práve kopíruje súbory..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Práve obnovujem cache repozitára..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr " Neznámy stav %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Nestabilné" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testovanie" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Offline Aktualizácie" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Zluhala aktualizácia %1 balíkov\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Úspešne aktualizované %1 balíky" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Aktualizácia dostupná" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nová nestabilná verzia: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nová verzia: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Aktuálna verzia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastaráva:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Nová verzia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Stav aktualizácie:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Reštart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Predajca:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 závislosť)" +msgstr[1] "%2 (plus %1 závislosti)" +msgstr[2] "%2 (plus %1 závislostí)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL repozitára:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Balíky na odstránenie" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Nasledovné balíky budú odstránené pri aktualizácii:\n" +"
    • %1
    \n" +"pre inštaláciu:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Prosím reštartujte počítač na dokončenie inštalácie" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Vyžaduje sa zmena média typu '%1'.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Balík %1 a jeho dodávateľ %2 vyžaduje, aby ste prijali ich licenciu:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Chýbajúci podpis pre %1 v %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Dôverujete nasledovnému kľúču?\n" +"\n" +"Url: %1\n" +"Používateľ: %2\n" +"Kľúč: %3\n" +"Otlačok: %4\n" +"Pečiatka: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Potvrdiť odstránenie balíka" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Na pokračovanie v tejto akcii musí byť odstránený nasledovný balík:\n" +"%2" +msgstr[1] "" +"Na pokračovanie v tejto akcii musia byť odstránené nasledovné balíky:\n" +"%2" +msgstr[2] "" +"Na pokračovanie v tejto akcii musia byť odstránené nasledovné balíky:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Táto snap aplikácia potrebuje zakázané bezpečnostné opatrenia." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Výpis všetkých backendov, ktoré chceme načítať, oddelené čiarkou ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Chybné" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Dostupné" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Nainštalované" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Aktualizovateľné" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Spustiť" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Skontrolovať aktualizácie" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Aktualizovať" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Spúšťam" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čakám" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Sťahovanie" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Inštalovanie" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Odstraňuje sa" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Mením doplnky" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Hotovo" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Zlyhalo" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Zrušené" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aktualizácie aplikácií" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systémové aktualizácie" \ No newline at end of file diff --git a/po/sk/plasma-discover-notifier.po b/po/sk/plasma-discover-notifier.po new file mode 100644 index 0000000..e0cf244 --- /dev/null +++ b/po/sk/plasma-discover-notifier.po @@ -0,0 +1,98 @@ +# translation of muon-notifier.po to Slovak +# Roman Paholík , 2015. +# Mthw , 2018. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-09-14 18:25+0100\n" +"Last-Translator: Mthw \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "AKtualizovať" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Dostupné bezpečnostné aktualizácie" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Dostupné aktualizácie" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systém aktuálny" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Poťítač sa potrebuje reštartovať" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 balík na aktualizáciu" +msgstr[1] "%1 balíkov na aktualizáciu" +msgstr[2] "%1 balíkov na aktualizáciu" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "z ktorých 1 je bezpečnostná aktualizácia" +msgstr[1] "z ktorých %1 sú bezpečnostné aktualizácie" +msgstr[2] "z ktorých %1 je bezpečnostných aktualizácií" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 balík na aktualizáciu" +msgstr[1] "%1 balíkov na aktualizáciu" +msgstr[2] "%1 balíkov na aktualizáciu" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "Bezpečnostná aktualizácia" +msgstr[1] "%1 bezpečnostných aktualizácií" +msgstr[2] "%1 bezpečnostných aktualizácií" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Žiadne balíky na aktualizáciu" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Vyžaduje sa reštart" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Tento systém potrebuje byť reštartovaný aby sa prejavili zmeny." \ No newline at end of file diff --git a/po/sk/plasma-discover.po b/po/sk/plasma-discover.po new file mode 100644 index 0000000..39c1e15 --- /dev/null +++ b/po/sk/plasma-discover.po @@ -0,0 +1,652 @@ +# translation of muon-discover.po to Slovak +# Roman Paholik , 2012, 2013, 2014, 2015, 2016, 2017. +# Mthw , 2018. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-09-15 11:14+0100\n" +"Last-Translator: Mthw \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nemôžem nájsť kategóriu '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Nie je možné interagovať so zdrojmi flatpak bez flatpak backendu %1. Prosím " +"najprv ho nainštalujte." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nemôžem otvoriť %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Priamo otvoriť danú aplikáciu názvom jej balíka." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Otvoriť v programe, ktorý vie spracovať daný mime typ." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Zobraziť zoznam položiek s kategóriou." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Otvoriť Discover a danom režime. Režimy korešpondujú s tlačidlami panelu " +"nástrojov." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Vypísať všetky dostupné režimy." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompaktný režim (auto/kompaktný/plný)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Miestny súbor balíka na inštaláciu" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Vypísať všetky dostupné backendy." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podporuje appstream: url schéma" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Objaviť" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Prieskumník aplikácií" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Vývojový tím Plasma" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupné backendy:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupné režimy:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Doplnky" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Aplikovať zmeny" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Zahodiť" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Viac..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Pridať nový repozitár %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Pridať" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Zrušiť" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 hodnotenie" +msgstr[1] "%1 hodnotenia" +msgstr[2] "%1 hodnotení" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Zatial žiadne hodnotenia" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Zdroje" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Čo je nové" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Hodnotenia" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Zobraziť (%1) hodnotenie..." +msgstr[1] "Zobraziť (%1) hodnotenia..." +msgstr[2] "Zobraziť (%1) hodnotení..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Napísať hodnotenie!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Buďte prvý, kto napíše hodnotenie!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Nainštalujte si túto aplikáciu a napíšte hodnotenie!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Nainštalujte si túto aplikáciu a buďte prvý kto napíše hodnotenie!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategória:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Verzia:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, vydané %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Veľkosť:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Zdroj:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licencia:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Domovská stránka: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Používateľská príručka:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Podporiť:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Nahlásiť problém" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Triediť podľa: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Názov" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Hodnotenie" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Veľkosť" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Dátum vydania" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Prepáčte, nič sa nenašlo..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Stále hľadám..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Spustenie ako root nie je odporúčané ani potrebné." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Hľadať" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Nainštalované" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Kontrolujú sa aktualizácie..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Žiadne aktualizácie" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aktualizovať (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nastavenia" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Ospravedlňujeme sa..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Nemôžem zatvoriť aplikáciu, je treba ukončiť priveľa úloh." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nemôžem nájsť zdroj: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Pokračovať" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Nainštalovať" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Odstrániť" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Načítava sa..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Zdroje pre '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Rozšírenia..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Úlohy (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Úlohy" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, fuzzy, kde-format +#| msgctxt "TransactioName - TransactionStatus" +#| msgid "%1 - %2: %3" +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2: %3" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Povedzte nám o tomto hodnotení!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 z %2 ľudí považujú toto hodnotenie za užitočné" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "neznámy revízor" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 od %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Komentár od %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Užitočné? Áno/Nie" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Užitočné? Áno/Nie" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Užitočné? Áno/Nie" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Posudzovanie '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Hodnotenie:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Názov:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Hodnotenie:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Vložiť hodnotenie" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Napísať názov" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Aktualizuje sa..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Príliš dlhé!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Odoslať hodnotenie" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Hodnotenie..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Hľadať..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Hľadať v '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predvolené)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Spraviť predvolené" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Pridať zdroj..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Zlyhalo zvýšenie perferencie '%1'" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Zlyhalo zníženie perferencie '%1'" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Vymazať pôvod" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Nepodarilo sa odstrániť zdroj: '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Chýbajúce backendy" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aktualizácie" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Vybraná aktualizácia" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Aktualizovať všetko" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "aktualizácií vybratých" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "aktualizácie nevybraté" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Viac informácií..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Aktualizuje sa..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Kontrolujú sa aktualizácie" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Aktualizuje sa..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Sťahujem aktualizácie" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aktualizácie" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Softvér na tomto počítači je aktuálny" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Žiadne aktualizácie" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Žiadne aktualizácie nie sú dostupné" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Treba skontrolovať aktualizácie" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Nie je známe, kedy sa naposledy kontrolovali aktualizácie" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Kopírovať adresu odkazu" \ No newline at end of file diff --git a/po/sk/plasma_applet_org.kde.discovernotifier.po b/po/sk/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..7ed83f3 --- /dev/null +++ b/po/sk/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,37 @@ +# translation of plasma_applet_org.kde.muonnotifier.po to Slovak +# Roman Paholík , 2014, 2015. +# Mthw , 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.muonnotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-09-15 11:16+0100\n" +"Last-Translator: Mthw \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Prezrieť aktualizácie..." + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Spustí softvér na vykonanie aktualizácie" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Otvoriť Softvérové Centrum" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Prezrieť aktualizácie..." \ No newline at end of file diff --git a/po/sl/libdiscover.po b/po/sl/libdiscover.po new file mode 100644 index 0000000..f3e387d --- /dev/null +++ b/po/sl/libdiscover.po @@ -0,0 +1,1598 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-01-15 17:12+0100\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Programi" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Pripomočki" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Dostopnost" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Razvojna orodja" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Razhroščevanje" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Oblikovanje grafičnih vmesnikov" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Integrirana razvojna okolja" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Prevajanje" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiliranje" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Spletni razvoj" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Izobraževanje" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Znanost in inženirstvo" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemija" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Računalništvo in robotika" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inženirstvo" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Zemljepis" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Igre" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Namizne igre" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Igre s kartami" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Sestavljanke" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Igranje vlog" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulacije" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Športne" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Programi" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simulacije" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Risanje" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Slikanje in urejanje" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Založništvo" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Optično branje in prepoznavanje znakov" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Pregledovalniki" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Klepet" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Deljenje datotek" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-pošta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Spletni brskalniki" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Predstavnost" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Pisarna" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistemske nastavitve" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Dodatki za Plasmo" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Gradniki Plasme" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Pisave" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Zasilna kategorija" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "preizkusno" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "preizkusni dodatki" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "preizkusno 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "preizkusno z vsebino" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "preizkusno 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "preizkusno z veliko vsebinami" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "preizkusno 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "preizkusno 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Krajevna zbirka" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Napačno oblikovan URL appstream »%1«" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Neznano" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Pridobivanje podatkov o velikosti" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Neznana velikost" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 za prejem, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Dodaj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ni bilo mogoče dodati vira %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI skladišča Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Sprejmi EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Paket %1 in njegov proizvajalec %2 zahtevata, da sprejmete njihovo licenco:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Neveljavno zaledje %1. Stopite v stik z vašimi skrbniki distribucije." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodatki za Plasmo" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Dodatki za programe" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Napačen URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Prijavni podatki za %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Prepričajte se, da je Appstream pravilno nastavljen na vašem sistemu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Zmanjkalo pomnilnika" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Omrežna povezava ni na voljo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Opravilo ni podprto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Notranja napaka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Neuspeh GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Neveljaven PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paket ni nameščen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paket ni bil najden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paket je že nameščen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Prejemanje paketa ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Skupina paketa ni bila najdena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Seznam skupin paketov ni veljaven" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Razreševanje odvisnosti ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Filter ni veljaven" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Neuspeh med ustvarjanjem niti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Napaka transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcija preklicana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Predpomnilnik ni na voljo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Skladišča ni mogoče najti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Ni mogoče odstraniti sistemskega paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Ozadnji program PackageKit se je sesul" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Napaka med začenjanjem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Zaključevanje transakcije ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Razčlenjevanje nastavitev ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Ni mogoče preklicati transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Ni mogoče zakleniti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Za posodobiti ni nobenega paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ni mogoče zapisati nastavitev skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Krajevna namestitev ni uspela" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Najden slab podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Najden ni bil noben podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Ni mogoče namestiti paketa z izvorno kodo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Napaka med nastavitvijo skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Brez licenčnega sporazuma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Najdeni spori datotek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Najden spor paketov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Skladišče ni na voljo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Neveljavna datoteka paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Namestitev paketa je blokirana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Najden pokvarjen paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Vsi paketi so že nameščeni" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Datoteka ni bila najdena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Na voljo ni nobenega dodatnega skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ni podatkov o nadgradnji distribucije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nezdružljiva arhitektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Ni prostora na napravi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Zahtevana je zamenjava nosilca" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nimate pooblastila za izvedbo tega dejanja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Posodobitev ni najdena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Ni mogoče namestiti iz nepodpisanega skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Ni mogoče posodobiti iz nepodpisanega skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Ni mogoče dobiti seznama datotek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Ni mogoče dobiti zahtevanih" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Ni mogoče onemogočiti skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Zaznan omejen prejem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Nastavljanje paketa ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Izgradnja paketa ni uspela" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Nameščanje paketa ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Odstranitev paketa ni uspela" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Posodobitev ni uspela zaradi zagnanega opravila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Podatkovna zbirka paketov spremenjena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Ponujena vrsta ni podprta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Korenska mapa za nameščanje ni veljavna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Ni mogoče pridobiti virov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Preklicana prednost" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transakcija ni bila dokončana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Zahtevan je zaklep" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Neznana napaka %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' je bil spremenjen in predlaga ponovni zagon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Sprememba '%1' predlaga, da znova zaženete sejo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' je bil posodobljen. Iz varnostnih razlogov je priporočen ponovni zagon " +"seje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' je bil posodobljen. Iz varnostnih razlogov je priporočen ponovni zagon " +"sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Sprememba '%1' predlaga, da znova zaženete sistem." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Program bo potrebno znova zagnati." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sejo bo potrebno znova zagnati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Sistem bo potrebno znova zagnati." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Iz varnostnih razlogov bo potrebno znova zagnati sejo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Iz varnostnih razlogov bo potrebno znova zagnati sistem." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Čakanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Osveževanje predpomnilnika ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Nastavi ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Obdelovanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Odstrani ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Prejemanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Nameščanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Posodabljanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Čiščenje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Razreševanje odvisnosti ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Preverjanje podpisov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Preizkušanje uveljavljanja ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Uveljavljanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Končano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Preklicano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čakanje na zaklep ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čakanje na pooblastitev ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopiranje datotek ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Neznano stanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Čakanje na nekaj." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Nastavljanje transakcije ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcija je v teku ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcija trenutno odstranjuje pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcija trenutno prejema pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcija trenutno namešča pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcija trenutno posodablja pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcija trenutno čisti ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transakcija trenutno razrešuje odvisnosti paketov, ki bodo nameščeni ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakcija trenutno preverja podpise paketov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transakcija trenutno preizkuša uveljavljanje tega nabora paketov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcija trenutno uveljavlja nabor paketov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcija je bila zaključena!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcija je bila preklicana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcija trenutno čaka na zaklep ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čakanje, da uporabnik pooblasti transakcijo ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcija trenutno kopira datoteke ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Poteka osveževanje predpomnilnika skladišča ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Neznano stanje %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Unstable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Krajevne posodobitve" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Posodobitev ni uspela za %1 paketov:\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Uspešno posodobljenih %1 paketov" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Razpoložljiva nadgradnja" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Nova nestabilna različica: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Nova različica: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@label Column label" +#| msgid "Version" +msgid "Current Version:" +msgstr "Različica" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Zamenja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgid "New version: %1" +msgid "New Version:" +msgstr "Nova različica: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Stanje posodobitve:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Ponovni zagon:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Proizvajalec:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (in %1 odvisnosti)" +msgstr[1] "%2 (in %1 odvisnost)" +msgstr[2] "%2 (in %1 odvisnosti)" +msgstr[3] "%2 (in %1 odvisnosti)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Naslov URL skladišča:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paketi za odstraniti" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
    • %1
    " +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Posodobitev bo odstranila naslednje pakete:\n" +"
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Zahtevana je sprememba nosilca vrste »%1«.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paket %1 in njegov proizvajalec %2 zahtevata, da sprejmete njihovo licenco:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Manjka podpis za %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Ali zaupate naslednjemu ključu?\n" +"\n" +"Url: %1\n" +"Uporabnik: %2\n" +"Ključ: %3\n" +"Prstni odtis: %4\n" +"Časovni žig: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Za nadaljevanje s tem dejanjem je potrebno odstraniti naslednje pakete:\n" +"%2" +msgstr[1] "" +"Za nadaljevanje s tem dejanjem je potrebno odstraniti naslednji paket:\n" +"%2" +msgstr[2] "" +"Za nadaljevanje s tem dejanjem je potrebno odstraniti naslednja paketa:\n" +"%2" +msgstr[3] "" +"Za nadaljevanje s tem dejanjem je potrebno odstraniti naslednje pakete:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Izpiše vsa zaledja, ki bi jih želeli naložiti, ločena z vejico ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Pokvarjeno" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Na voljo" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Nameščeno" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Ima nadgradnjo" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Preveri za posodobitvami" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Posodobi" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Začenjanje" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čakanje" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Prejemanje" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Nameščanje" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Odstranjevanje" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Spreminjanje dodatkov" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Končano" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Spodletelo" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Preklicano" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Posodobitve programov" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistemske posodobitve" \ No newline at end of file diff --git a/po/sl/plasma-discover-notifier.po b/po/sl/plasma-discover-notifier.po new file mode 100644 index 0000000..bdf3567 --- /dev/null +++ b/po/sl/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-01-15 17:13+0100\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Posodobi" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Na voljo so varnostne posodobitve" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Na voljo so posodobitve" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistem je posodobljen" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paketov za posodobiti" +msgstr[1] "%1 paket za posodobiti" +msgstr[2] "%1 paketa za posodobiti" +msgstr[3] "%1 paketi za posodobiti" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "od tega %1 varnostnih posodobitev" +msgstr[1] "od tega %1 varnostna posodobitev" +msgstr[2] "od tega %1 varnostni posodobitvi" +msgstr[3] "od tega %1 varnostne posodobitve" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paketov za posodobiti" +msgstr[1] "%1 paket za posodobiti" +msgstr[2] "%1 paketa za posodobiti" +msgstr[3] "%1 paketi za posodobiti" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 varnostnih posodobitev" +msgstr[1] "%1 varnostna posodobitev" +msgstr[2] "%1 varnostni posodobitvi" +msgstr[3] "%1 varnostne posodobitve" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Za posodobiti ni nobenega paketa" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/sl/plasma-discover.po b/po/sl/plasma-discover.po new file mode 100644 index 0000000..30a917f --- /dev/null +++ b/po/sl/plasma-discover.po @@ -0,0 +1,664 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-01-16 17:16+0100\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ni bilo mogoče najti kategorije »%1«" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ni bilo mogoče odpreti %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Neposredno odpri podan program preko imena njegovega paketa." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Odpri s programom, ki zna rokovati s podano vrsto MIME." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži seznam vnosov s kategorijo." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Odpre Discover v podanem načinu. Načini ustrezajo gumbom orodne vrstice." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Izpiše vse razpoložljive načine." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Način strnjenega prikaza (samodejno/strnjeno/polno)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Krajevni paket za namestitev" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Izpiše vsa razpoložljiva zaledja." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podpira url shemo appstream" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Raziskovalnik po programih" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2016 Razvojna ekipa Plasme" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Razpoložljiva zaledja:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Razpoložljivi načini:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Dodatki" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Uveljavi spremembe" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Zavrzi" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Več ..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Dodatki" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Prekliči" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Ocena" +msgstr[1] "Ocena" +msgstr[2] "Ocena" +msgstr[3] "Ocena" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Vir:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Ocene" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Pokaži ocene (%1) ..." +msgstr[1] "Pokaži ocene (%1) ..." +msgstr[2] "Pokaži ocene (%1) ..." +msgstr[3] "Pokaži ocene (%1) ..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Pošlji" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Različica:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Velikost:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Vir:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licenca:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Domača stran:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Sort by " +msgid "Sort: %1" +msgstr "Razvrsti po " + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Ocena" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Velikost:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Najdeno ni bilo nič ..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Iskanje poteka ..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Izpostavljeno" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Zaganjanje kot skrbnik je odsvetovano in nepotrebno." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Iskanje" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Nameščeno" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Preverjanje za posodobitvami ..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Ni posodobitev" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Posodobi (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nastavitve" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Kratek povzetek ..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Programa ni bilo mogoče zapreti, ker obstajajo dejavna opravila." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Vira ni mogoče najti: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Nadaljuj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Namesti" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Odstrani" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Nalaganje ..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Viri za »%1«" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Razširitve ..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Opravila (%1 %)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Opravila" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Povejte nam o tej oceni!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 od %2 oseb je ta ocena uporabna" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "neznan pregledovalec" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1, avtorja %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comment too long" +msgid "Comment by %1" +msgstr "Opomba predolga" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Uporabno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Uporabno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Uporabno? Da/Ne" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Ocenjevanje »%1«" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Ocena" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Posodabljanje ..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Pošlji" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Ocena" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Poišči ..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Išči v '%1' ..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (privzeto)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Nastavi kot privzeto" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Dodaj vir ..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Izbriši izvor" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Ni bilo mogoče odstraniti vira »%1«" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Posodobitve" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Posodobitev izbrana" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Posodobi vse" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "izbranih posodobitev" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "neizbranih posodobitev" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Več podrobnosti ..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Pridobivanje ..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Iskanje posodobitev" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Posodabljanje ..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Pridobivanje posodobitev" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Posodobitve" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Vaš sistem je posodobljen" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Ni posodobitev" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Na voljo ni nobene posodobitve" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Preveriti bi morali za posodobitvami" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ni znano, kdaj se je nazadnje preverilo za posodobitvami" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/sl/plasma_applet_org.kde.discovernotifier.po b/po/sl/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..3c4f56c --- /dev/null +++ b/po/sl/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-06-05 10:14+0200\n" +"Last-Translator: Andrej Mernik \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Lokalize 1.5\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Pregled posodobitev ..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Zažene programsko opremo za izvedbo posodobitve" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Pregled posodobitev ..." \ No newline at end of file diff --git a/po/sr/libdiscover.po b/po/sr/libdiscover.po new file mode 100644 index 0000000..aa3b173 --- /dev/null +++ b/po/sr/libdiscover.po @@ -0,0 +1,1618 @@ +# Translation of libdiscover.po into Serbian. +# Dalibor Djuric , 2011. +# Chusslove Illich , 2011, 2012, 2013, 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-12-31 22:42+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 1.1\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Програми|/|$[својства лок 'Програмима']" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Допунске алатке|/|$[својства лок 'Допунским алаткама']" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Приступачност|/|$[својства лок 'Приступачности']" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Програмерске алатке|/|$[својства лок 'Програмерским алаткама']" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Исправљање|/|$[својства лок 'Исправљању']" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" +"Дизајнирање графичког сучеља|/|$[својства лок 'Дизајнирању графичког сучеља']" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "ИДЕ‑ови|/|$[својства лок 'ИДЕ‑овима']" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локализација|/|$[својства лок 'Локализацији']" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профилисање|/|$[својства лок 'Профилисању']" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Развој за Веб|/|$[својства лок 'Развоју за Веб']" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образовање|/|$[својства лок 'Образовању']" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" +"Природне науке и инжењерство|/|$[својства лок 'Природним наукама и " +"инжењерству']" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономија|/|$[својства лок 'Астрономији']" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биологија|/|$[својства лок 'Биологији']" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Хемија|/|$[својства лок 'Хемији']" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Рачунарство и роботика|/|$[својства лок 'Рачунарству и роботици']" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроника|/|$[својства лок 'Електроници']" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инжењерство|/|$[својства лок 'Инжењерству']" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Географија|/|$[својства лок 'Географији']" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геологија|/|$[својства лок 'Геологији']" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика|/|$[својства лок 'Математици']" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика|/|$[својства лок 'Физици']" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игре|/|$[својства лок 'Играма']" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркадне|/|$[својства лок 'Аркадним']" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Игре на табли|/|$[својства лок 'Играма на табли']" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Игре са картама|/|$[својства лок 'Играма са картама']" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Логичке|/|$[својства лок 'Логичким']" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Играње улога|/|$[својства лок 'Игрању улога']" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симулација|/|$[својства лок 'Симулацији']" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортови|/|$[својства лок 'Спортовима']" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Програми|/|$[својства лок 'Програмима']" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Симулација|/|$[својства лок 'Симулацији']" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика|/|$[својства лок 'Графици']" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3Д|/|$[својства лок '3Д-у']" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Цртање|/|$[својства лок 'Цртању']" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Сликање и ретуширање|/|$[својства лок 'Сликању и ретуширању']" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотографија|/|$[својства лок 'Фотографији']" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Издаваштво|/|$[својства лок 'Издаваштву']" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Скенирање и ОЦР|/|$[својства лок 'Скенирању и ОЦР‑у']" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Приказивачи|/|$[својства лок 'Приказивачима']" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет|/|$[својства лок 'Интернету']" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ћаскање|/|$[својства лок 'Ћаскању']" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Дељење фајлова|/|$[својства лок 'Дељењу фајлова']" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Е‑пошта|/|$[својства лок 'Е‑пошти']" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб прегледачи|/|$[својства лок 'Веб прегледачима']" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мултимедија|/|$[својства лок 'Мултимедији']" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Канцеларија|/|$[својства лок 'Канцеларији']" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Систем и поставке|/|$[својства лок 'Систему и поставкама']" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Плазма додаци|/|$[својства лок 'Плазма додацима']" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Плазма виџети|/|$[својства лок 'Плазма виџетима']" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Фонтови|/|$[својства лок 'Фонтовима']" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Лажна категорија|/|$[својства лок 'Лажној категорији']" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Лажна|/|$[својства лок 'Лажној']" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Лажни додаци|/|$[својства лок 'Лажним додацима']" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Лажна 1|/|$[својства лок 'Лажној 1']" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Лажна са нечим|/|$[својства лок 'Лажној са нечим']" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "Лажна 2.1|/|$[својства лок 'Лажној 2.1']" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Лажна са подоста нечим|/|$[својства лок 'Лажној са подоста нечим']" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Лажна 3|/|$[својства лок 'Лажној 3']" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Лажна 4|/|$[својства лок 'Лажној 4']" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Локална свеза" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Лош апстрим УРЛ ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "непозната" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Добављам податке о величини..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "непозната величина" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 за преузимање, %2 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Додај Флатхаб" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не могу да додам извор %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "УРИ флатпак ризнице (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Прихвати ЕУЛу" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Пакет %1 и његов издавач %2 траже да прихватите следећу лиценцу:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Лоша позадина %1, обратите се дистрибутеру." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Додаци за Плазму" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Додаци за програме" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Погрешан УРИ К‑новотарија: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Пријавни подаци за %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Обезбедите да је апстрим правилно постављен на систему." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Нема више меморије" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Нема мрежне везе" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Поступак није подржан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Унутрашња грешка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Крах ГПГ‑а" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Лош ИД пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Пакет није инсталиран" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Пакет није нађен" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Пакет је већ инсталиран" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Пропало преузимање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Група пакета није нађена" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Листа групе пакета није добра" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Пропало разрешавање зависности" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Лош филтер" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Пропало стварање нити" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Крах трансакције" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Трансакција отказана" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Кеш није доступан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Не могу да нађем ризницу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Не могу да уклоним системски пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Демон Пакиџ‑кита се срушио" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Пропало припремање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Пропало окончавање трансакције" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Пропало рашчлањивање поставе" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Не могу да откажем трансакцију" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Не могу да добавим браву" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Нема пакета за ажурирање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Не могу да упишем поставу ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Пропало локално инсталирање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Нађен лош ГПГ потпис" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Нема ГПГ потписа" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Не могу да инсталирам изворни пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Грешка у постави ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Нема лиценце" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Нађени сукоби фајлова" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Нађен сукоб пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Ризница није доступна" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Лош фајл пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Блокирано инсталирање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Нађен искварени пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Сви пакети су већ инсталирани" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Фајл није нађен" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Нема више доступних огледала" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Нема података за надоградњу дистрибуције" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Несагласна архитектура" + +# skip-rule: t-space +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Нема више места на уређају" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Тражи се измена медијума" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Немате овлашћења за извршавање овог поступка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Допуна није нађена" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Не могу да инсталирам из непотписане ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Не могу да ажурирам из непотписане ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Не могу да добавим листу фајлова" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Не могу да добавим захтеве" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Не могу да деактивирам ризницу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Откривено ограничење преузимања" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Пропало подешавање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Пропало грађење пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Пропало инсталирање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Пропало уклањање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ажурирање пропало због процеса у току" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "База пакета је измењена" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Задати тип није подржан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Лош корен инсталације" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Не могу да добавим изворе" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Отказан приоритет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Недовршена трансакција" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Потребна је брава" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Непозната грешка %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ је измењен и предлаже поновно покретање." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Измена од „%1“ предлаже поновно покретање сесије." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1“ је ажуриран из безбедносних разлога, препоручује се поновно покретање " +"сесије." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1“ је ажуриран из безбедносних разлога, препоручује се поновно покретање " +"система." + +# rewrite-msgid: /rebooted/restarted/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Измена од „%1“ предлаже поновно покретање система." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Програм мора поново да се покрене." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Сесија мора поново да се покрене." + +# rewrite-msgid: /reboot/reset/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Систем мора да се ресетује." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Безбедности ради, сесија мора да се поново покрене." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Безбедности ради, систем мора да се ресетује." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Чекам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Освежавам кеш..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Постављам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Обрађујем..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Уклањам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Преузимам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Инсталирам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Ажурирам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Чистим..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Разрешавам зависности..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Проверавам потписе..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Испробавам предавање..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Предајем..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Готово" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Отказано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Чекам браву..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Чекам овлашћивање..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Копирам фајлове..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Непознато стање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Нешто се чека." + +# skip-rule: t-setting +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Спремам трансакцију..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Трансакција тренутно у току." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Трансакција тренутно уклања пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Трансакција тренутно преузима пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Трансакција тренутно инсталира пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Трансакција тренутно ажурира пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Трансакција тренутно чисти." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Трансакција тренутно разрешава зависности пакета који ће се инсталирати." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Трансакција тренутно проверава потписе пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Трансакција тренутно испробава предавање овог скупа пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Трансакција тренутно предаје свој скуп пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Трансакција је завршена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Трансакција је отказана." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Трансакција тренутно чека на браву." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Чека се корисник да да̂ овлашћење за трансакцију." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Трансакција тренутно копира фајлове." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Тренутно освежавам кеш ризнице..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Непознато стање %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "стабилно" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "нестабилно" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "пробно" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Допуне ван везе" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." + +# >> @title +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Допуна доступна" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Ново нестабилно издање: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Ново издање: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Застарело:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgid "New version: %1" +msgid "New Version:" +msgstr "Ново издање: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Стање допуна:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Поновно покретање:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Издавач:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (плус %1 зависност)" +msgstr[1] "%2 (плус %1 зависности)" +msgstr[2] "%2 (плус %1 зависности)" +msgstr[3] "%2 (плус %1 зависност)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "УРЛ ризнице:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Пакети за уклањање" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
    • %1
    " +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Наредни пакети ће бити уклоњени по ажурирању:\n" +"%1
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Потребна измена медијума типа „%1“.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Пакет %1 и његов издавач %2 траже да прихватите следећу лиценцу:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Недостаје потпис за %1 у %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Верујете ли овом кључу?\n" +"\n" +"УРЛ: %1\n" +"Корисник: %2\n" +"Кључ: %3\n" +"Отисак: %4\n" +"Временска ознака: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Да би се ова радња наставила потребно је уклонити следеће пакете:\n" +"%2" +msgstr[1] "" +"Да би се ова радња наставила потребно је уклонити следеће пакете:\n" +"%2" +msgstr[2] "" +"Да би се ова радња наставила потребно је уклонити следеће пакете:\n" +"%2" +msgstr[3] "" +"Да би се ова радња наставила потребно је уклонити следећи пакет:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Набраја све позадине које треба учитати, раздвојене запетама." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "нарушено" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "доступно" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "инсталирано" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "надоградиво" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Провери има ли допуна" + +# >> ? Where is this text visible? +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Ажурирање" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Покрећем..." + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Чекам..." + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Преузимам..." + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Инсталирам..." + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Уклањам..." + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Мењам додатке..." + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Готово." + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Пропало." + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Отказано." + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "допуне програма" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "допуне система" \ No newline at end of file diff --git a/po/sr/plasma-discover-notifier.po b/po/sr/plasma-discover-notifier.po new file mode 100644 index 0000000..d007c4d --- /dev/null +++ b/po/sr/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-11-14 16:11+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Доступне су безбедносне допуне" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Доступне су допуне" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Систем је ажуран" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакет за ажурирање" +msgstr[1] "%1 пакета за ажурирање" +msgstr[2] "%1 пакета за ажурирање" +msgstr[3] "%1 пакет за ажурирање" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "од чега је %1 допуна безбедносна" +msgstr[1] "од чега су %1 допуна безбедносне" +msgstr[2] "од чега је %1 допуна безбедносних" +msgstr[3] "од чега је %1 допуна безбедносна" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакет за ажурирање" +msgstr[1] "%1 пакета за ажурирање" +msgstr[2] "%1 пакета за ажурирање" +msgstr[3] "%1 пакет за ажурирање" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 безбедносна допуна" +msgstr[1] "%1 безбедносне допуне" +msgstr[2] "%1 безбедносних допуна" +msgstr[3] "%1 безбедносна допуна" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Нема пакета за ажурирање" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/sr/plasma-discover.po b/po/sr/plasma-discover.po new file mode 100644 index 0000000..33ff58b --- /dev/null +++ b/po/sr/plasma-discover.po @@ -0,0 +1,671 @@ +# Translation of plasma-discover.po into Serbian. +# Chusslove Illich , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-01-06 09:21+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: libdiscover\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не могу да нађем категорију „%1“" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не могу да отворим %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Непосредно отвори задати програм по имену пакета" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Отвори програмом који уме да рукује датим МИМЕ типом" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Прикажи списак уноса са категоријом" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Отвори Oткривач у датом режиму. Режими одговарају дугмадима траке алатки." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Наброји све доступне режиме." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Сажети режим (једно од: auto, compact, full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Локални пакет за инсталирање." + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Наброји све доступне позадине." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Подршка за УРЛ шему appstream:." + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Oткривач" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Истраживач програма" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010–2016, развојни тим Плазме" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Алекс Пол Гонзалез" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Џонатан Томас" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступне позадине:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступни режими:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Додаци" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Примени измене" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Одбаци" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Више..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Додаци" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Одустани" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Оцена:" +msgstr[1] "Оцена:" +msgstr[2] "Оцена:" +msgstr[3] "Оцена:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Рецензирај" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Прикажи рецензије (%1)..." +msgstr[1] "Прикажи рецензије (%1)..." +msgstr[2] "Прикажи рецензије (%1)..." +msgstr[3] "Прикажи рецензије (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Категорија:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Издање:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Величина:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Лиценца:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Домаћа страница:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Претрага: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Оцена:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Величина:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Ништа није нађено." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Још тражим..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Извршавање под кореном није препоручљиво нити потребно." + +# >> @title +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Претрага" + +# >> @title +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Инсталирано" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Проверавам допуне..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Нема допуна" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Допуна (%1)" + +# >> @title +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Поставке" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Не могу да затворим програм, има још недовршених задатака." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не могу да нађем ресурс: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Настави" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Инсталирај" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Уклони" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Учитавам..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ресурси за „%1“" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Проширења..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Задаци (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Задаци" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Реците нам нешто о овој рецензији!" + +# >! Plurals. +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" +"%1 од %2 особа сматра ову рецензију корисном|/|%1 од %2 $[множ " +"^2 особе особе особа] сматра ову рецензију корисном" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "непознат рецензент" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисно? Да/Не" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисно? Да/Не" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисно? Да/Не" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Рецензија „%1“" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Оцена:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Рецензирај" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ажурирам..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Рецензирај" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Тражи..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Тражи у „%1“...|/|Тражи у „$[лок %1]“..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (подразумевано)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Учини подразумеваним" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Додај извор" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Обриши извориште" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Не могу да уклоним извор „%1“" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Ажурирај изабрано" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Ажурирај све" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "Изабране допуне" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "Прескочене допуне" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Више података..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Добављам..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Проверавам допуне..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Ажурирам..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Добављам допуне..." + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Систем је ажуран" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Нема допуна" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Нема доступних допуна" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Треба проверити допуне" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Не зна се кад је била последња провера допуна" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/sr/plasma_applet_org.kde.discovernotifier.po b/po/sr/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..d36c1b6 --- /dev/null +++ b/po/sr/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.muonnotifier.po into Serbian. +# Chusslove Illich , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.muonnotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-05-30 13:41+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Погледај допуне..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Покреће софтвер за ажурирање" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Погледај допуне..." \ No newline at end of file diff --git a/po/sr@ijekavian/libdiscover.po b/po/sr@ijekavian/libdiscover.po new file mode 100644 index 0000000..f7dc4ef --- /dev/null +++ b/po/sr@ijekavian/libdiscover.po @@ -0,0 +1,1618 @@ +# Translation of libdiscover.po into Serbian. +# Dalibor Djuric , 2011. +# Chusslove Illich , 2011, 2012, 2013, 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-12-31 22:42+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 1.1\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Програми|/|$[својства лок 'Програмима']" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Допунске алатке|/|$[својства лок 'Допунским алаткама']" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Приступачност|/|$[својства лок 'Приступачности']" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Програмерске алатке|/|$[својства лок 'Програмерским алаткама']" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Исправљање|/|$[својства лок 'Исправљању']" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" +"Дизајнирање графичког сучеља|/|$[својства лок 'Дизајнирању графичког сучеља']" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "ИДЕ‑ови|/|$[својства лок 'ИДЕ‑овима']" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локализација|/|$[својства лок 'Локализацији']" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профилисање|/|$[својства лок 'Профилисању']" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Развој за Веб|/|$[својства лок 'Развоју за Веб']" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образовање|/|$[својства лок 'Образовању']" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" +"Природне науке и инжењерство|/|$[својства лок 'Природним наукама и " +"инжењерству']" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономија|/|$[својства лок 'Астрономији']" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биологија|/|$[својства лок 'Биологији']" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Хемија|/|$[својства лок 'Хемији']" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Рачунарство и роботика|/|$[својства лок 'Рачунарству и роботици']" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроника|/|$[својства лок 'Електроници']" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инжењерство|/|$[својства лок 'Инжењерству']" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Географија|/|$[својства лок 'Географији']" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геологија|/|$[својства лок 'Геологији']" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика|/|$[својства лок 'Математици']" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика|/|$[својства лок 'Физици']" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игре|/|$[својства лок 'Играма']" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркадне|/|$[својства лок 'Аркадним']" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Игре на табли|/|$[својства лок 'Играма на табли']" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Игре са картама|/|$[својства лок 'Играма са картама']" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Логичке|/|$[својства лок 'Логичким']" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Играње улога|/|$[својства лок 'Игрању улога']" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симулација|/|$[својства лок 'Симулацији']" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортови|/|$[својства лок 'Спортовима']" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Програми|/|$[својства лок 'Програмима']" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Симулација|/|$[својства лок 'Симулацији']" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика|/|$[својства лок 'Графици']" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3Д|/|$[својства лок '3Д-у']" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Цртање|/|$[својства лок 'Цртању']" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Сликање и ретуширање|/|$[својства лок 'Сликању и ретуширању']" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотографија|/|$[својства лок 'Фотографији']" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Издаваштво|/|$[својства лок 'Издаваштву']" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Скенирање и ОЦР|/|$[својства лок 'Скенирању и ОЦР‑у']" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Приказивачи|/|$[својства лок 'Приказивачима']" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет|/|$[својства лок 'Интернету']" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ћаскање|/|$[својства лок 'Ћаскању']" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Дијељење фајлова|/|$[својства лок 'Дијељењу фајлова']" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Е‑пошта|/|$[својства лок 'Е‑пошти']" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб прегледачи|/|$[својства лок 'Веб прегледачима']" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мултимедија|/|$[својства лок 'Мултимедији']" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Канцеларија|/|$[својства лок 'Канцеларији']" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Систем и поставке|/|$[својства лок 'Систему и поставкама']" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Плазма додаци|/|$[својства лок 'Плазма додацима']" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Плазма виџети|/|$[својства лок 'Плазма виџетима']" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Фонтови|/|$[својства лок 'Фонтовима']" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Лажна категорија|/|$[својства лок 'Лажној категорији']" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Лажна|/|$[својства лок 'Лажној']" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Лажни додаци|/|$[својства лок 'Лажним додацима']" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Лажна 1|/|$[својства лок 'Лажној 1']" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Лажна са нечим|/|$[својства лок 'Лажној са нечим']" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "Лажна 2.1|/|$[својства лок 'Лажној 2.1']" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Лажна са подоста нечим|/|$[својства лок 'Лажној са подоста нечим']" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Лажна 3|/|$[својства лок 'Лажној 3']" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Лажна 4|/|$[својства лок 'Лажној 4']" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Локална свеза" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Лош апстрим УРЛ ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "непозната" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Добављам податке о величини..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "непозната величина" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 за преузимање, %2 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Додај Флатхаб" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не могу да додам извор %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "УРИ флатпак ризнице (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Прихвати ЕУЛу" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Пакет %1 и његов издавач %2 траже да прихватите следећу лиценцу:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Лоша позадина %1, обратите се дистрибутеру." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Додаци за Плазму" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Додаци за програме" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Погрешан УРИ К‑новотарија: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Пријавни подаци за %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Обезбедите да је апстрим правилно постављен на систему." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Нема више меморије" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Нема мрежне везе" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Поступак није подржан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Унутрашња грешка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Крах ГПГ‑а" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Лош ИД пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Пакет није инсталиран" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Пакет није нађен" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Пакет је већ инсталиран" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Пропало преузимање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Група пакета није нађена" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Листа групе пакета није добра" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Пропало разрешавање зависности" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Лош филтер" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Пропало стварање нити" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Крах трансакције" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Трансакција отказана" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Кеш није доступан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Не могу да нађем ризницу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Не могу да уклоним системски пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Демон Пакиџ‑кита се срушио" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Пропало припремање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Пропало окончавање трансакције" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Пропало рашчлањивање поставе" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Не могу да откажем трансакцију" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Не могу да добавим браву" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Нема пакета за ажурирање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Не могу да упишем поставу ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Пропало локално инсталирање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Нађен лош ГПГ потпис" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Нема ГПГ потписа" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Не могу да инсталирам изворни пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Грешка у постави ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Нема лиценце" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Нађени сукоби фајлова" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Нађен сукоб пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Ризница није доступна" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Лош фајл пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Блокирано инсталирање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Нађен искварени пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Сви пакети су већ инсталирани" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Фајл није нађен" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Нема више доступних огледала" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Нема података за надоградњу дистрибуције" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Несагласна архитектура" + +# skip-rule: t-space +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Нема више места на уређају" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Тражи се измјена медијума" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Немате овлашћења за извршавање овог поступка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Допуна није нађена" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Не могу да инсталирам из непотписане ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Не могу да ажурирам из непотписане ризнице" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Не могу да добавим листу фајлова" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Не могу да добавим захтеве" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Не могу да деактивирам ризницу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Откривено ограничење преузимања" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Пропало подешавање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Пропало грађење пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Пропало инсталирање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Пропало уклањање пакета" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ажурирање пропало због процеса у току" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "База пакета је измењена" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Задати тип није подржан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Лош корен инсталације" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Не могу да добавим изворе" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Отказан приоритет" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Недовршена трансакција" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Потребна је брава" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Непозната грешка %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ је измењен и предлаже поновно покретање." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Измјена од „%1“ предлаже поновно покретање сесије." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1“ је ажуриран из безбедносних разлога, препоручује се поновно покретање " +"сесије." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1“ је ажуриран из безбедносних разлога, препоручује се поновно покретање " +"система." + +# rewrite-msgid: /rebooted/restarted/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Измјена од „%1“ предлаже поновно покретање система." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Програм мора поново да се покрене." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Сесија мора поново да се покрене." + +# rewrite-msgid: /reboot/reset/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Систем мора да се ресетује." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Безбедности ради, сесија мора да се поново покрене." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Безбедности ради, систем мора да се ресетује." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Чекам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Освежавам кеш..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Постављам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Обрађујем..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Уклањам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Преузимам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Инсталирам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Ажурирам..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Чистим..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Разрешавам зависности..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Проверавам потписе..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Испробавам предавање..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Предајем..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Готово" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Отказано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Чекам браву..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Чекам овлашћивање..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Копирам фајлове..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Непознато стање" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Нешто се чека." + +# skip-rule: t-setting +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Спремам трансакцију..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Трансакција тренутно у току." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Трансакција тренутно уклања пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Трансакција тренутно преузима пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Трансакција тренутно инсталира пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Трансакција тренутно ажурира пакете." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Трансакција тренутно чисти." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Трансакција тренутно разрешава зависности пакета који ће се инсталирати." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Трансакција тренутно проверава потписе пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Трансакција тренутно испробава предавање овог скупа пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Трансакција тренутно предаје свој скуп пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Трансакција је завршена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Трансакција је отказана." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Трансакција тренутно чека на браву." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Чека се корисник да да̂ овлашћење за трансакцију." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Трансакција тренутно копира фајлове." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Тренутно освежавам кеш ризнице..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Непознато стање %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "стабилно" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "нестабилно" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "пробно" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Допуне ван везе" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." + +# >> @title +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Допуна доступна" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Ново нестабилно издање: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Ново издање: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Застарело:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgid "New version: %1" +msgid "New Version:" +msgstr "Ново издање: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Стање допуна:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Поновно покретање:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Издавач:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (плус %1 зависност)" +msgstr[1] "%2 (плус %1 зависности)" +msgstr[2] "%2 (плус %1 зависности)" +msgstr[3] "%2 (плус %1 зависност)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "УРЛ ризнице:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Пакети за уклањање" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
    • %1
    " +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Наредни пакети ће бити уклоњени по ажурирању:\n" +"%1
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Потребна измјена медијума типа „%1“.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Пакет %1 и његов издавач %2 траже да прихватите следећу лиценцу:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Недостаје потпис за %1 у %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Верујете ли овом кључу?\n" +"\n" +"УРЛ: %1\n" +"Корисник: %2\n" +"Кључ: %3\n" +"Отисак: %4\n" +"Временска ознака: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Да би се ова радња наставила потребно је уклонити следеће пакете:\n" +"%2" +msgstr[1] "" +"Да би се ова радња наставила потребно је уклонити следеће пакете:\n" +"%2" +msgstr[2] "" +"Да би се ова радња наставила потребно је уклонити следеће пакете:\n" +"%2" +msgstr[3] "" +"Да би се ова радња наставила потребно је уклонити следећи пакет:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Набраја све позадине које треба учитати, раздвојене запетама." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "нарушено" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "доступно" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "инсталирано" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "надоградиво" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Провјери има ли допуна" + +# >> ? Where is this text visible? +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Ажурирање" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Покрећем..." + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Чекам..." + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Преузимам..." + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Инсталирам..." + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Уклањам..." + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Мењам додатке..." + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Готово." + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Пропало." + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Отказано." + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "допуне програма" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "допуне система" \ No newline at end of file diff --git a/po/sr@ijekavian/plasma-discover-notifier.po b/po/sr@ijekavian/plasma-discover-notifier.po new file mode 100644 index 0000000..5530d67 --- /dev/null +++ b/po/sr@ijekavian/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-11-14 16:11+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Доступне су безбједносне допуне" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Доступне су допуне" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Систем је ажуран" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакет за ажурирање" +msgstr[1] "%1 пакета за ажурирање" +msgstr[2] "%1 пакета за ажурирање" +msgstr[3] "%1 пакет за ажурирање" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "од чега је %1 допуна безбједносна" +msgstr[1] "од чега су %1 допуна безбједносне" +msgstr[2] "од чега је %1 допуна безбједносних" +msgstr[3] "од чега је %1 допуна безбједносна" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакет за ажурирање" +msgstr[1] "%1 пакета за ажурирање" +msgstr[2] "%1 пакета за ажурирање" +msgstr[3] "%1 пакет за ажурирање" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 безбједносна допуна" +msgstr[1] "%1 безбједносне допуне" +msgstr[2] "%1 безбједносних допуна" +msgstr[3] "%1 безбједносна допуна" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Нема пакета за ажурирање" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/sr@ijekavian/plasma-discover.po b/po/sr@ijekavian/plasma-discover.po new file mode 100644 index 0000000..652d640 --- /dev/null +++ b/po/sr@ijekavian/plasma-discover.po @@ -0,0 +1,671 @@ +# Translation of plasma-discover.po into Serbian. +# Chusslove Illich , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-01-06 09:21+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: libdiscover\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не могу да нађем категорију „%1“" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не могу да отворим %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Непосредно отвори задати програм по имену пакета" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Отвори програмом који уме да рукује датим МИМЕ типом" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Прикажи списак уноса са категоријом" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Отвори Oткривач у датом режиму. Режими одговарају дугмадима траке алатки." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Наброји све доступне режиме." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Сажети режим (једно од: auto, compact, full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Локални пакет за инсталирање." + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Наброји све доступне позадине." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Подршка за УРЛ шему appstream:." + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Oткривач" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Истраживач програма" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010–2016, развојни тим Плазме" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Алекс Пол Гонзалез" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Џонатан Томас" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступне позадине:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступни режими:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Додаци" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Примени измене" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Одбаци" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Више..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Додаци" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Одустани" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Оцена:" +msgstr[1] "Оцена:" +msgstr[2] "Оцена:" +msgstr[3] "Оцена:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Рецензирај" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Прикажи рецензије (%1)..." +msgstr[1] "Прикажи рецензије (%1)..." +msgstr[2] "Прикажи рецензије (%1)..." +msgstr[3] "Прикажи рецензије (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Категорија:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Издање:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Величина:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Лиценца:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Домаћа страница:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Претрага: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Оцена:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Величина:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Ништа није нађено." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Још тражим..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Извршавање под кореном није препоручљиво нити потребно." + +# >> @title +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Претрага" + +# >> @title +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Инсталирано" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Проверавам допуне..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Нема допуна" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Допуна (%1)" + +# >> @title +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Поставке" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Не могу да затворим програм, има још недовршених задатака." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не могу да нађем ресурс: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Настави" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Инсталирај" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Уклони" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Учитавам..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ресурси за „%1“" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Проширења..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Задаци (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Задаци" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Реците нам нешто о овој рецензији!" + +# >! Plurals. +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" +"%1 од %2 особа сматра ову рецензију корисном|/|%1 од %2 $[множ " +"^2 особе особе особа] сматра ову рецензију корисном" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "непознат рецензент" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисно? Да/Не" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисно? Да/Не" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисно? Да/Не" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Рецензија „%1“" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Оцена:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Рецензирај" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ажурирам..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Рецензирај" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Тражи..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Тражи у „%1“...|/|Тражи у „$[лок %1]“..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (подразумевано)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Учини подразумеваним" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Додај извор" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Обриши извориште" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Не могу да уклоним извор „%1“" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Ажурирај изабрано" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Ажурирај све" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "Изабране допуне" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "Прескочене допуне" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Више података..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Добављам..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Проверавам допуне..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Ажурирам..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Добављам допуне..." + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Систем је ажуран" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Нема допуна" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Нема доступних допуна" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Треба проверити допуне" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Не зна се кад је била последња провера допуна" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/sr@ijekavian/plasma_applet_org.kde.discovernotifier.po b/po/sr@ijekavian/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..ea46f21 --- /dev/null +++ b/po/sr@ijekavian/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.muonnotifier.po into Serbian. +# Chusslove Illich , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.muonnotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-05-30 13:41+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Погледај допуне..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Покреће софтвер за ажурирање" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Погледај допуне..." \ No newline at end of file diff --git a/po/sr@ijekavianlatin/libdiscover.po b/po/sr@ijekavianlatin/libdiscover.po new file mode 100644 index 0000000..54b785e --- /dev/null +++ b/po/sr@ijekavianlatin/libdiscover.po @@ -0,0 +1,1619 @@ +# Translation of libdiscover.po into Serbian. +# Dalibor Djuric , 2011. +# Chusslove Illich , 2011, 2012, 2013, 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-12-31 22:42+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 1.1\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Programi|/|$[svojstva lok 'Programima']" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Dopunske alatke|/|$[svojstva lok 'Dopunskim alatkama']" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Pristupačnost|/|$[svojstva lok 'Pristupačnosti']" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Programerske alatke|/|$[svojstva lok 'Programerskim alatkama']" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Ispravljanje|/|$[svojstva lok 'Ispravljanju']" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" +"Dizajniranje grafičkog sučelja|/|$[svojstva lok 'Dizajniranju grafičkog " +"sučelja']" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE‑ovi|/|$[svojstva lok 'IDE‑ovima']" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizacija|/|$[svojstva lok 'Lokalizaciji']" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilisanje|/|$[svojstva lok 'Profilisanju']" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Razvoj za Web|/|$[svojstva lok 'Razvoju za Web']" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Obrazovanje|/|$[svojstva lok 'Obrazovanju']" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" +"Prirodne nauke i inženjerstvo|/|$[svojstva lok 'Prirodnim naukama i " +"inženjerstvu']" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija|/|$[svojstva lok 'Astronomiji']" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija|/|$[svojstva lok 'Biologiji']" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Hemija|/|$[svojstva lok 'Hemiji']" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Računarstvo i robotika|/|$[svojstva lok 'Računarstvu i robotici']" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika|/|$[svojstva lok 'Elektronici']" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inženjerstvo|/|$[svojstva lok 'Inženjerstvu']" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografija|/|$[svojstva lok 'Geografiji']" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija|/|$[svojstva lok 'Geologiji']" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika|/|$[svojstva lok 'Matematici']" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika|/|$[svojstva lok 'Fizici']" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Igre|/|$[svojstva lok 'Igrama']" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkadne|/|$[svojstva lok 'Arkadnim']" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Igre na tabli|/|$[svojstva lok 'Igrama na tabli']" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Igre sa kartama|/|$[svojstva lok 'Igrama sa kartama']" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Logičke|/|$[svojstva lok 'Logičkim']" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Igranje uloga|/|$[svojstva lok 'Igranju uloga']" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulacija|/|$[svojstva lok 'Simulaciji']" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportovi|/|$[svojstva lok 'Sportovima']" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Programi|/|$[svojstva lok 'Programima']" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simulacija|/|$[svojstva lok 'Simulaciji']" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika|/|$[svojstva lok 'Grafici']" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D|/|$[svojstva lok '3D-u']" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Crtanje|/|$[svojstva lok 'Crtanju']" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Slikanje i retuširanje|/|$[svojstva lok 'Slikanju i retuširanju']" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija|/|$[svojstva lok 'Fotografiji']" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Izdavaštvo|/|$[svojstva lok 'Izdavaštvu']" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skeniranje i OCR|/|$[svojstva lok 'Skeniranju i OCR‑u']" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Prikazivači|/|$[svojstva lok 'Prikazivačima']" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet|/|$[svojstva lok 'Internetu']" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ćaskanje|/|$[svojstva lok 'Ćaskanju']" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Dijeljenje fajlova|/|$[svojstva lok 'Dijeljenju fajlova']" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E‑pošta|/|$[svojstva lok 'E‑pošti']" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Veb pregledači|/|$[svojstva lok 'Veb pregledačima']" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedija|/|$[svojstva lok 'Multimediji']" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kancelarija|/|$[svojstva lok 'Kancelariji']" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistem i postavke|/|$[svojstva lok 'Sistemu i postavkama']" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma dodaci|/|$[svojstva lok 'Plasma dodacima']" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma vidžeti|/|$[svojstva lok 'Plasma vidžetima']" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontovi|/|$[svojstva lok 'Fontovima']" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Lažna kategorija|/|$[svojstva lok 'Lažnoj kategoriji']" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Lažna|/|$[svojstva lok 'Lažnoj']" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Lažni dodaci|/|$[svojstva lok 'Lažnim dodacima']" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Lažna 1|/|$[svojstva lok 'Lažnoj 1']" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Lažna sa nečim|/|$[svojstva lok 'Lažnoj sa nečim']" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "Lažna 2.1|/|$[svojstva lok 'Lažnoj 2.1']" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Lažna sa podosta nečim|/|$[svojstva lok 'Lažnoj sa podosta nečim']" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Lažna 3|/|$[svojstva lok 'Lažnoj 3']" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Lažna 4|/|$[svojstva lok 'Lažnoj 4']" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokalna sveza" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Loš apstrim URL ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "nepoznata" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Dobavljam podatke o veličini..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "nepoznata veličina" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 za preuzimanje, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Dodaj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ne mogu da dodam izvor %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI Flatpak riznice (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Prihvati EULu" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Paket %1 i njegov izdavač %2 traže da prihvatite sledeću licencu:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Loša pozadina %1, obratite se distributeru." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodaci za Plasmu" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Dodaci za programe" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Pogrešan URI K‑novotarija: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Prijavni podaci za %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Obezbedite da je apstrim pravilno postavljen na sistemu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Nema više memorije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nema mrežne veze" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Postupak nije podržan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Unutrašnja greška" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Krah GPG‑a" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Loš ID paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paket nije instaliran" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paket nije nađen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paket je već instaliran" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Propalo preuzimanje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Grupa paketa nije nađena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Lista grupe paketa nije dobra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Propalo razrešavanje zavisnosti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Loš filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Propalo stvaranje niti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Krah transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcija otkazana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Keš nije dostupan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Ne mogu da nađem riznicu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Ne mogu da uklonim sistemski paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Demon PackageKita se srušio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Propalo pripremanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Propalo okončavanje transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Propalo raščlanjivanje postave" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Ne mogu da otkažem transakciju" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Ne mogu da dobavim bravu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Nema paketa za ažuriranje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ne mogu da upišem postavu riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Propalo lokalno instaliranje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Nađen loš GPG potpis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Nema GPG potpisa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Ne mogu da instaliram izvorni paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Greška u postavi riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Nema licence" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Nađeni sukobi fajlova" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Nađen sukob paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Riznica nije dostupna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Loš fajl paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Blokirano instaliranje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Nađen iskvareni paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Svi paketi su već instalirani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Fajl nije nađen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Nema više dostupnih ogledala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Nema podataka za nadogradnju distribucije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nesaglasna arhitektura" + +# skip-rule: t-space +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Nema više mesta na uređaju" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Traži se izmjena medijuma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nemate ovlašćenja za izvršavanje ovog postupka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Dopuna nije nađena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Ne mogu da instaliram iz nepotpisane riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Ne mogu da ažuriram iz nepotpisane riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Ne mogu da dobavim listu fajlova" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Ne mogu da dobavim zahteve" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Ne mogu da deaktiviram riznicu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Otkriveno ograničenje preuzimanja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Propalo podešavanje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Propalo građenje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Propalo instaliranje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Propalo uklanjanje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ažuriranje propalo zbog procesa u toku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Baza paketa je izmenjena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Zadati tip nije podržan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Loš koren instalacije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Ne mogu da dobavim izvore" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Otkazan prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nedovršena transakcija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Potrebna je brava" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Nepoznata greška %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ je izmenjen i predlaže ponovno pokretanje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Izmjena od „%1“ predlaže ponovno pokretanje sesije." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1“ je ažuriran iz bezbednosnih razloga, preporučuje se ponovno pokretanje " +"sesije." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1“ je ažuriran iz bezbednosnih razloga, preporučuje se ponovno pokretanje " +"sistema." + +# rewrite-msgid: /rebooted/restarted/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Izmjena od „%1“ predlaže ponovno pokretanje sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Program mora ponovo da se pokrene." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesija mora ponovo da se pokrene." + +# rewrite-msgid: /reboot/reset/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Sistem mora da se resetuje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Bezbednosti radi, sesija mora da se ponovo pokrene." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Bezbednosti radi, sistem mora da se resetuje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Čekam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Osvežavam keš..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Postavljam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Obrađujem..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Uklanjam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Preuzimam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instaliram..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Ažuriram..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Čistim..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Razrešavam zavisnosti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Proveravam potpise..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Isprobavam predavanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Predajem..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Gotovo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Otkazano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čekam bravu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čekam ovlašćivanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopiram fajlove..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Nepoznato stanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Nešto se čeka." + +# skip-rule: t-setting +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Spremam transakciju..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcija trenutno u toku." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcija trenutno uklanja pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcija trenutno preuzima pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcija trenutno instalira pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcija trenutno ažurira pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcija trenutno čisti." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transakcija trenutno razrešava zavisnosti paketa koji će se instalirati." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakcija trenutno proverava potpise paketa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transakcija trenutno isprobava predavanje ovog skupa paketa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcija trenutno predaje svoj skup paketa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcija je završena." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcija je otkazana." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcija trenutno čeka na bravu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čeka se korisnik da dâ̂ ovlašćenje za transakciju." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcija trenutno kopira fajlove." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Trenutno osvežavam keš riznice..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Nepoznato stanje %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "stabilno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "nestabilno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "probno" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Dopune van veze" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." + +# >> @title +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Dopuna dostupna" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Novo nestabilno izdanje: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Novo izdanje: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarelo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgid "New version: %1" +msgid "New Version:" +msgstr "Novo izdanje: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Stanje dopuna:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Ponovno pokretanje:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Izdavač:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 zavisnost)" +msgstr[1] "%2 (plus %1 zavisnosti)" +msgstr[2] "%2 (plus %1 zavisnosti)" +msgstr[3] "%2 (plus %1 zavisnost)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL riznice:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paketi za uklanjanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
    • %1
    " +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Naredni paketi će biti uklonjeni po ažuriranju:\n" +"%1
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Potrebna izmjena medijuma tipa „%1“.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paket %1 i njegov izdavač %2 traže da prihvatite sledeću licencu:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Nedostaje potpis za %1 u %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Verujete li ovom ključu?\n" +"\n" +"URL: %1\n" +"Korisnik: %2\n" +"Ključ: %3\n" +"Otisak: %4\n" +"Vremenska oznaka: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeće pakete:\n" +"%2" +msgstr[1] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeće pakete:\n" +"%2" +msgstr[2] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeće pakete:\n" +"%2" +msgstr[3] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeći paket:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Nabraja sve pozadine koje treba učitati, razdvojene zapetama." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "narušeno" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "dostupno" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "instalirano" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "nadogradivo" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Provjeri ima li dopuna" + +# >> ? Where is this text visible? +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Ažuriranje" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Pokrećem..." + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čekam..." + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Preuzimam..." + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instaliram..." + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Uklanjam..." + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Menjam dodatke..." + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gotovo." + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Propalo." + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Otkazano." + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "dopune programa" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "dopune sistema" \ No newline at end of file diff --git a/po/sr@ijekavianlatin/plasma-discover-notifier.po b/po/sr@ijekavianlatin/plasma-discover-notifier.po new file mode 100644 index 0000000..00372a4 --- /dev/null +++ b/po/sr@ijekavianlatin/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-11-14 16:11+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Dostupne su bezbjednosne dopune" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Dostupne su dopune" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistem je ažuran" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paket za ažuriranje" +msgstr[1] "%1 paketa za ažuriranje" +msgstr[2] "%1 paketa za ažuriranje" +msgstr[3] "%1 paket za ažuriranje" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "od čega je %1 dopuna bezbjednosna" +msgstr[1] "od čega su %1 dopuna bezbjednosne" +msgstr[2] "od čega je %1 dopuna bezbjednosnih" +msgstr[3] "od čega je %1 dopuna bezbjednosna" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paket za ažuriranje" +msgstr[1] "%1 paketa za ažuriranje" +msgstr[2] "%1 paketa za ažuriranje" +msgstr[3] "%1 paket za ažuriranje" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 bezbjednosna dopuna" +msgstr[1] "%1 bezbjednosne dopune" +msgstr[2] "%1 bezbjednosnih dopuna" +msgstr[3] "%1 bezbjednosna dopuna" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Nema paketa za ažuriranje" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/sr@ijekavianlatin/plasma-discover.po b/po/sr@ijekavianlatin/plasma-discover.po new file mode 100644 index 0000000..3d7371f --- /dev/null +++ b/po/sr@ijekavianlatin/plasma-discover.po @@ -0,0 +1,671 @@ +# Translation of plasma-discover.po into Serbian. +# Chusslove Illich , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-01-06 09:21+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: libdiscover\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ne mogu da nađem kategoriju „%1“" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ne mogu da otvorim %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Neposredno otvori zadati program po imenu paketa" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Otvori programom koji ume da rukuje datim MIME tipom" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži spisak unosa sa kategorijom" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Otvori Otkrivač u datom režimu. Režimi odgovaraju dugmadima trake alatki." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Nabroji sve dostupne režime." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Sažeti režim (jedno od: auto, compact, full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokalni paket za instaliranje." + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Nabroji sve dostupne pozadine." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podrška za URL šemu appstream:." + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Otkrivač" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Istraživač programa" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010–2016, razvojni tim Plasme" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleks Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Džonatan Tomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupne pozadine:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupni režimi:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Dodaci" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Primeni izmene" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Odbaci" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Više..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Dodaci" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Odustani" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Ocena:" +msgstr[1] "Ocena:" +msgstr[2] "Ocena:" +msgstr[3] "Ocena:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Recenziraj" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Prikaži recenzije (%1)..." +msgstr[1] "Prikaži recenzije (%1)..." +msgstr[2] "Prikaži recenzije (%1)..." +msgstr[3] "Prikaži recenzije (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Izdanje:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Veličina:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licenca:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Domaća stranica:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Pretraga: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Ocena:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Veličina:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Ništa nije nađeno." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Još tražim..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Izvršavanje pod korenom nije preporučljivo niti potrebno." + +# >> @title +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Pretraga" + +# >> @title +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Proveravam dopune..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Nema dopuna" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Dopuna (%1)" + +# >> @title +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Postavke" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Ne mogu da zatvorim program, ima još nedovršenih zadataka." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ne mogu da nađem resurs: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Nastavi" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instaliraj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Ukloni" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Učitavam..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resursi za „%1“" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Proširenja..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Zadaci (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Zadaci" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Recite nam nešto o ovoj recenziji!" + +# >! Plurals. +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" +"%1 od %2 osoba smatra ovu recenziju korisnom|/|%1 od %2 $[množ " +"^2 osobe osobe osoba] smatra ovu recenziju korisnom" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "nepoznat recenzent" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Recenzija „%1“" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Recenziraj" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ažuriram..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Recenziraj" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Traži..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Traži u „%1“...|/|Traži u „$[lok %1]“..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (podrazumevano)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Učini podrazumevanim" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Dodaj izvor" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Obriši izvorište" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Ne mogu da uklonim izvor „%1“" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Ažuriraj izabrano" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "Izabrane dopune" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "Preskočene dopune" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Više podataka..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Dobavljam..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Proveravam dopune..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Ažuriram..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Dobavljam dopune..." + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Sistem je ažuran" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Nema dopuna" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Nema dostupnih dopuna" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Treba proveriti dopune" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ne zna se kad je bila poslednja provera dopuna" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/sr@ijekavianlatin/plasma_applet_org.kde.discovernotifier.po b/po/sr@ijekavianlatin/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..c8b523e --- /dev/null +++ b/po/sr@ijekavianlatin/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.muonnotifier.po into Serbian. +# Chusslove Illich , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.muonnotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-05-30 13:41+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Pogledaj dopune..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Pokreće softver za ažuriranje" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Pogledaj dopune..." \ No newline at end of file diff --git a/po/sr@latin/libdiscover.po b/po/sr@latin/libdiscover.po new file mode 100644 index 0000000..a63876f --- /dev/null +++ b/po/sr@latin/libdiscover.po @@ -0,0 +1,1619 @@ +# Translation of libdiscover.po into Serbian. +# Dalibor Djuric , 2011. +# Chusslove Illich , 2011, 2012, 2013, 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-12-31 22:42+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Generator: Lokalize 1.1\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Programi|/|$[svojstva lok 'Programima']" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Dopunske alatke|/|$[svojstva lok 'Dopunskim alatkama']" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Pristupačnost|/|$[svojstva lok 'Pristupačnosti']" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Programerske alatke|/|$[svojstva lok 'Programerskim alatkama']" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Ispravljanje|/|$[svojstva lok 'Ispravljanju']" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" +"Dizajniranje grafičkog sučelja|/|$[svojstva lok 'Dizajniranju grafičkog " +"sučelja']" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE‑ovi|/|$[svojstva lok 'IDE‑ovima']" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizacija|/|$[svojstva lok 'Lokalizaciji']" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilisanje|/|$[svojstva lok 'Profilisanju']" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Razvoj za Web|/|$[svojstva lok 'Razvoju za Web']" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Obrazovanje|/|$[svojstva lok 'Obrazovanju']" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" +"Prirodne nauke i inženjerstvo|/|$[svojstva lok 'Prirodnim naukama i " +"inženjerstvu']" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija|/|$[svojstva lok 'Astronomiji']" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija|/|$[svojstva lok 'Biologiji']" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Hemija|/|$[svojstva lok 'Hemiji']" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Računarstvo i robotika|/|$[svojstva lok 'Računarstvu i robotici']" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika|/|$[svojstva lok 'Elektronici']" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inženjerstvo|/|$[svojstva lok 'Inženjerstvu']" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografija|/|$[svojstva lok 'Geografiji']" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija|/|$[svojstva lok 'Geologiji']" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika|/|$[svojstva lok 'Matematici']" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika|/|$[svojstva lok 'Fizici']" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Igre|/|$[svojstva lok 'Igrama']" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkadne|/|$[svojstva lok 'Arkadnim']" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Igre na tabli|/|$[svojstva lok 'Igrama na tabli']" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Igre sa kartama|/|$[svojstva lok 'Igrama sa kartama']" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Logičke|/|$[svojstva lok 'Logičkim']" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Igranje uloga|/|$[svojstva lok 'Igranju uloga']" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulacija|/|$[svojstva lok 'Simulaciji']" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportovi|/|$[svojstva lok 'Sportovima']" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Programi|/|$[svojstva lok 'Programima']" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Simulacija|/|$[svojstva lok 'Simulaciji']" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika|/|$[svojstva lok 'Grafici']" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D|/|$[svojstva lok '3D-u']" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Crtanje|/|$[svojstva lok 'Crtanju']" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Slikanje i retuširanje|/|$[svojstva lok 'Slikanju i retuširanju']" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija|/|$[svojstva lok 'Fotografiji']" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Izdavaštvo|/|$[svojstva lok 'Izdavaštvu']" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Skeniranje i OCR|/|$[svojstva lok 'Skeniranju i OCR‑u']" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Prikazivači|/|$[svojstva lok 'Prikazivačima']" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet|/|$[svojstva lok 'Internetu']" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ćaskanje|/|$[svojstva lok 'Ćaskanju']" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Deljenje fajlova|/|$[svojstva lok 'Deljenju fajlova']" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E‑pošta|/|$[svojstva lok 'E‑pošti']" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Veb pregledači|/|$[svojstva lok 'Veb pregledačima']" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedija|/|$[svojstva lok 'Multimediji']" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kancelarija|/|$[svojstva lok 'Kancelariji']" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistem i postavke|/|$[svojstva lok 'Sistemu i postavkama']" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma dodaci|/|$[svojstva lok 'Plasma dodacima']" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma vidžeti|/|$[svojstva lok 'Plasma vidžetima']" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontovi|/|$[svojstva lok 'Fontovima']" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Lažna kategorija|/|$[svojstva lok 'Lažnoj kategoriji']" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Lažna|/|$[svojstva lok 'Lažnoj']" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Lažni dodaci|/|$[svojstva lok 'Lažnim dodacima']" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Lažna 1|/|$[svojstva lok 'Lažnoj 1']" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Lažna sa nečim|/|$[svojstva lok 'Lažnoj sa nečim']" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "Lažna 2.1|/|$[svojstva lok 'Lažnoj 2.1']" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Lažna sa podosta nečim|/|$[svojstva lok 'Lažnoj sa podosta nečim']" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Lažna 3|/|$[svojstva lok 'Lažnoj 3']" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Lažna 4|/|$[svojstva lok 'Lažnoj 4']" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokalna sveza" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Loš apstrim URL ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "nepoznata" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Dobavljam podatke o veličini..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "nepoznata veličina" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 za preuzimanje, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Dodaj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ne mogu da dodam izvor %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "URI Flatpak riznice (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Prihvati EULu" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Paket %1 i njegov izdavač %2 traže da prihvatite sledeću licencu:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Loša pozadina %1, obratite se distributeru." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodaci za Plasmu" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Dodaci za programe" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Pogrešan URI K‑novotarija: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Prijavni podaci za %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Obezbedite da je apstrim pravilno postavljen na sistemu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Nema više memorije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Nema mrežne veze" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Postupak nije podržan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Unutrašnja greška" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Krah GPG‑a" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Loš ID paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paket nije instaliran" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paket nije nađen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paket je već instaliran" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Propalo preuzimanje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Grupa paketa nije nađena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Lista grupe paketa nije dobra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Propalo razrešavanje zavisnosti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Loš filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Propalo stvaranje niti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Krah transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcija otkazana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Keš nije dostupan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Ne mogu da nađem riznicu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Ne mogu da uklonim sistemski paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Demon PackageKita se srušio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Propalo pripremanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Propalo okončavanje transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Propalo raščlanjivanje postave" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Ne mogu da otkažem transakciju" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Ne mogu da dobavim bravu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Nema paketa za ažuriranje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ne mogu da upišem postavu riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Propalo lokalno instaliranje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Nađen loš GPG potpis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Nema GPG potpisa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Ne mogu da instaliram izvorni paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Greška u postavi riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Nema licence" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Nađeni sukobi fajlova" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Nađen sukob paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Riznica nije dostupna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Loš fajl paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Blokirano instaliranje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Nađen iskvareni paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Svi paketi su već instalirani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Fajl nije nađen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Nema više dostupnih ogledala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Nema podataka za nadogradnju distribucije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nesaglasna arhitektura" + +# skip-rule: t-space +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Nema više mesta na uređaju" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Traži se izmena medijuma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nemate ovlašćenja za izvršavanje ovog postupka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Dopuna nije nađena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Ne mogu da instaliram iz nepotpisane riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Ne mogu da ažuriram iz nepotpisane riznice" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Ne mogu da dobavim listu fajlova" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Ne mogu da dobavim zahteve" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Ne mogu da deaktiviram riznicu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Otkriveno ograničenje preuzimanja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Propalo podešavanje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Propalo građenje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Propalo instaliranje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Propalo uklanjanje paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ažuriranje propalo zbog procesa u toku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Baza paketa je izmenjena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Zadati tip nije podržan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Loš koren instalacije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Ne mogu da dobavim izvore" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Otkazan prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nedovršena transakcija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Potrebna je brava" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Nepoznata greška %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ je izmenjen i predlaže ponovno pokretanje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Izmena od „%1“ predlaže ponovno pokretanje sesije." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1“ je ažuriran iz bezbednosnih razloga, preporučuje se ponovno pokretanje " +"sesije." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1“ je ažuriran iz bezbednosnih razloga, preporučuje se ponovno pokretanje " +"sistema." + +# rewrite-msgid: /rebooted/restarted/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "Izmena od „%1“ predlaže ponovno pokretanje sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Program mora ponovo da se pokrene." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesija mora ponovo da se pokrene." + +# rewrite-msgid: /reboot/reset/ +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Sistem mora da se resetuje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Bezbednosti radi, sesija mora da se ponovo pokrene." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Bezbednosti radi, sistem mora da se resetuje." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Čekam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Osvežavam keš..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Postavljam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Obrađujem..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Uklanjam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Preuzimam..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Instaliram..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Ažuriram..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Čistim..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Razrešavam zavisnosti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Proveravam potpise..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Isprobavam predavanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Predajem..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Gotovo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Otkazano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čekam bravu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čekam ovlašćivanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopiram fajlove..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Nepoznato stanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Nešto se čeka." + +# skip-rule: t-setting +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Spremam transakciju..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcija trenutno u toku." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcija trenutno uklanja pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcija trenutno preuzima pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcija trenutno instalira pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcija trenutno ažurira pakete." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcija trenutno čisti." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transakcija trenutno razrešava zavisnosti paketa koji će se instalirati." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakcija trenutno proverava potpise paketa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Transakcija trenutno isprobava predavanje ovog skupa paketa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcija trenutno predaje svoj skup paketa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcija je završena." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcija je otkazana." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcija trenutno čeka na bravu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čeka se korisnik da dâ̂ ovlašćenje za transakciju." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcija trenutno kopira fajlove." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Trenutno osvežavam keš riznice..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Nepoznato stanje %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "stabilno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "nestabilno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "probno" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Dopune van veze" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." + +# >> @title +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Dopuna dostupna" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Novo nestabilno izdanje: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Novo izdanje: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarelo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgid "New version: %1" +msgid "New Version:" +msgstr "Novo izdanje: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Stanje dopuna:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Ponovno pokretanje:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Izdavač:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 zavisnost)" +msgstr[1] "%2 (plus %1 zavisnosti)" +msgstr[2] "%2 (plus %1 zavisnosti)" +msgstr[3] "%2 (plus %1 zavisnost)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "URL riznice:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paketi za uklanjanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
    • %1
    " +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Naredni paketi će biti uklonjeni po ažuriranju:\n" +"%1
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Potrebna izmena medijuma tipa „%1“.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paket %1 i njegov izdavač %2 traže da prihvatite sledeću licencu:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Nedostaje potpis za %1 u %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Verujete li ovom ključu?\n" +"\n" +"URL: %1\n" +"Korisnik: %2\n" +"Ključ: %3\n" +"Otisak: %4\n" +"Vremenska oznaka: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeće pakete:\n" +"%2" +msgstr[1] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeće pakete:\n" +"%2" +msgstr[2] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeće pakete:\n" +"%2" +msgstr[3] "" +"Da bi se ova radnja nastavila potrebno je ukloniti sledeći paket:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Nabraja sve pozadine koje treba učitati, razdvojene zapetama." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "narušeno" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "dostupno" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "instalirano" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "nadogradivo" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Proveri ima li dopuna" + +# >> ? Where is this text visible? +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Ažuriranje" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Pokrećem..." + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čekam..." + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Preuzimam..." + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instaliram..." + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Uklanjam..." + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Menjam dodatke..." + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gotovo." + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Propalo." + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Otkazano." + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "dopune programa" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "dopune sistema" \ No newline at end of file diff --git a/po/sr@latin/plasma-discover-notifier.po b/po/sr@latin/plasma-discover-notifier.po new file mode 100644 index 0000000..f88e0dd --- /dev/null +++ b/po/sr@latin/plasma-discover-notifier.po @@ -0,0 +1,104 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2015-11-14 16:11+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Dostupne su bezbednosne dopune" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Dostupne su dopune" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistem je ažuran" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paket za ažuriranje" +msgstr[1] "%1 paketa za ažuriranje" +msgstr[2] "%1 paketa za ažuriranje" +msgstr[3] "%1 paket za ažuriranje" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "od čega je %1 dopuna bezbednosna" +msgstr[1] "od čega su %1 dopuna bezbednosne" +msgstr[2] "od čega je %1 dopuna bezbednosnih" +msgstr[3] "od čega je %1 dopuna bezbednosna" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 paket za ažuriranje" +msgstr[1] "%1 paketa za ažuriranje" +msgstr[2] "%1 paketa za ažuriranje" +msgstr[3] "%1 paket za ažuriranje" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 bezbednosna dopuna" +msgstr[1] "%1 bezbednosne dopune" +msgstr[2] "%1 bezbednosnih dopuna" +msgstr[3] "%1 bezbednosna dopuna" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Nema paketa za ažuriranje" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/sr@latin/plasma-discover.po b/po/sr@latin/plasma-discover.po new file mode 100644 index 0000000..ecc3187 --- /dev/null +++ b/po/sr@latin/plasma-discover.po @@ -0,0 +1,671 @@ +# Translation of plasma-discover.po into Serbian. +# Chusslove Illich , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-01-06 09:21+0100\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Associated-UI-Catalogs: libdiscover\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ne mogu da nađem kategoriju „%1“" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ne mogu da otvorim %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Neposredno otvori zadati program po imenu paketa" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Otvori programom koji ume da rukuje datim MIME tipom" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži spisak unosa sa kategorijom" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Otvori Otkrivač u datom režimu. Režimi odgovaraju dugmadima trake alatki." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Nabroji sve dostupne režime." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Sažeti režim (jedno od: auto, compact, full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokalni paket za instaliranje." + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Nabroji sve dostupne pozadine." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podrška za URL šemu appstream:." + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Otkrivač" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Istraživač programa" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010–2016, razvojni tim Plasme" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleks Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Džonatan Tomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupne pozadine:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupni režimi:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Dodaci" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Primeni izmene" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Odbaci" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Više..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Dodaci" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Odustani" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Ocena:" +msgstr[1] "Ocena:" +msgstr[2] "Ocena:" +msgstr[3] "Ocena:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Recenziraj" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Prikaži recenzije (%1)..." +msgstr[1] "Prikaži recenzije (%1)..." +msgstr[2] "Prikaži recenzije (%1)..." +msgstr[3] "Prikaži recenzije (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Izdanje:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Veličina:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licenca:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Domaća stranica:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Pretraga: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Ocena:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Veličina:" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Ništa nije nađeno." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Još tražim..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Izvršavanje pod korenom nije preporučljivo niti potrebno." + +# >> @title +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Pretraga" + +# >> @title +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Proveravam dopune..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Nema dopuna" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Dopuna (%1)" + +# >> @title +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Postavke" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Ne mogu da zatvorim program, ima još nedovršenih zadataka." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ne mogu da nađem resurs: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Nastavi" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instaliraj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Ukloni" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Učitavam..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resursi za „%1“" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Proširenja..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Zadaci (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Zadaci" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Recite nam nešto o ovoj recenziji!" + +# >! Plurals. +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" +"%1 od %2 osoba smatra ovu recenziju korisnom|/|%1 od %2 $[množ " +"^2 osobe osobe osoba] smatra ovu recenziju korisnom" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "nepoznat recenzent" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Korisno? Da/Ne" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Recenzija „%1“" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Recenziraj" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ažuriram..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Recenziraj" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Traži..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Traži u „%1“...|/|Traži u „$[lok %1]“..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (podrazumevano)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Učini podrazumevanim" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Dodaj izvor" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Obriši izvorište" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Ne mogu da uklonim izvor „%1“" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Ažuriraj izabrano" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "Izabrane dopune" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "Preskočene dopune" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Više podataka..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Dobavljam..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Proveravam dopune..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Ažuriram..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Dobavljam dopune..." + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Sistem je ažuran" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Nema dopuna" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Nema dostupnih dopuna" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Treba proveriti dopune" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ne zna se kad je bila poslednja provera dopuna" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/sr@latin/plasma_applet_org.kde.discovernotifier.po b/po/sr@latin/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..94a4ff0 --- /dev/null +++ b/po/sr@latin/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.muonnotifier.po into Serbian. +# Chusslove Illich , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.muonnotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-05-30 13:41+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Pogledaj dopune..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Pokreće softver za ažuriranje" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Pogledaj dopune..." \ No newline at end of file diff --git a/po/sv/libdiscover.po b/po/sv/libdiscover.po new file mode 100644 index 0000000..ca51683 --- /dev/null +++ b/po/sv/libdiscover.po @@ -0,0 +1,1578 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-03 20:43+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Program" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tillbehör" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Handikappstöd" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Utvecklingsverktyg" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Felsökning" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Konstruktion av grafiska gränssnitt" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Integrerade utvecklingsmiljöer" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Landsanpassning" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Webbutveckling" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Utbildning" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Vetenskap och ingenjörskonst" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemi" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Datavetenskap och robotik" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingenjörsvetenskap" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematik" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysik" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spel" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkadspel" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Brädspel" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kortspel" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Pusselspel" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rollspel" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulering" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Åtgärd" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatorer" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "Tredimensionellt" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Teckna" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Måla och redigera" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografering" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicering" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Bildläsning och optisk teckenigenkänning" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visningsprogram" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chatt" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fildelning" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-post" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Webbläsare" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Ljud- och videoeditorer" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Ljudspelare" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Videospelare" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "Cd och dvd" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Systeminställningar" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma tillägg" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma grafiska komponenter" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Teckensnitt" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Testkategori" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Test" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Testtillägg" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Test 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Test med saker" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "Test 2,1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Test med en hel del saker" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Test 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Test 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Lokal packe" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Felaktig webbadress för appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Okänd" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Hämtar storleksinformation" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Okänd storlek" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 att ladda ner, %2 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Lägg till Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Kunde inte lägga till källan %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Webbadress för Flatpak-arkiv (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Acceptera slutanvändarlicensavtal" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Leverantören %1 kräver att du accepterar deras licens:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ogiltigt gränssnitt %1, kontakta distributören." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasmatillägg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Programtillägg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Felaktig webbadress för Heta nyheter: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Använd" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Inloggningsinformation för %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Försäkra dig om att Appstream är rätt inställd på systemet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Slut på minne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Ingen nätverksanslutning tillgänglig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Åtgärden stöds inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Internt fel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG-fel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Paket-id ogiltigt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paketet inte installerat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paketet hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paketet är redan installerat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Nerladdning av paketet misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Paketgruppen hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Paketgrupplistan är ogiltig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Upplösning av beroenden misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Ogiltigt filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Misslyckades när en tråd skulle skapas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Transaktionsfel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaktion avbruten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Ingen cache tillgänglig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan inte hitta arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan inte ta bort systempaket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-demonen har kraschat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Initieringsfel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Misslyckades slutföra transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Tolkning av inställningar misslyckades." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan inte avbryta transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan inte erhålla lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Inga paket att uppdatera" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan inte skriva arkivinställning" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Lokal installation misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Felaktig GPG-signatur hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Ingen GPG-signatur hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan inte installera källkodspaket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Arkivinställningsfel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Inget licensavtal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Filkonflikter hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Paketkonflikt hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Arkiv ej tillgängligt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Ogiltig paketfil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Installation av paket blockerad" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Skadat paket hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Alla paket redan installerade" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Filen hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Inga fler spegelplatser tillgängliga" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen uppgraderingsdata för distribution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Inkompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Inget utrymme kvar på enheten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Media behöver bytas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Du har ingen behörighet att utföra åtgärden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Uppdatering hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan inte installera från osignerat arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan inte uppdatera från osignerat arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan inte hämta fillista" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan inte hämta krav" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan inte inaktivera arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Begränsad nerladdning detekterad" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Paket misslyckades ställas in" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Misslyckades bygga paketet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Installation av paketet misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Misslyckades ta bort paketet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Uppdatering misslyckades på grund av körande process" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Paketdatabasen ändrades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Den tillhandahållna typen stöds inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Installationsrot är ogiltig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Kan inte hämta källor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Avbruten prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Oavslutad transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Lås krävs" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Okänt fel %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' har ändrats och förslår en omstart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "En ändring av '%1' föreslår att sessionen ska startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' har uppdaterats av säkerhetsskäl. En omstart av sessionen rekommenderas." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' har uppdaterats av säkerhetsskäl. En omstart av systemet rekommenderas." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "En ändring av '%1' föreslår att systemet ska startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Programmet måste startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sessionen måste startas om" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Systemet måste startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Av säkerhetsskäl måste sessionen startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Av säkerhetsskäl måste systemet startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Väntar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Uppdaterar cachen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Inställning..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Behandlar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Ta bort..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Laddar ner..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Installerar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Uppdaterar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Städar upp..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Löser upp beroenden..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerar signaturer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Prova verkställa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Verkställer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Klar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Avbruten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Väntar på lås..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Väntar på godkännande..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Kopierar filer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Okänd status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Vi väntar på någonting." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Inställning av transaktion..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaktionen pågår för närvarande..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaktionen tar för närvarande bort paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaktionen laddar för närvarande ner paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaktionen installerar för närvarande paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaktionen uppdaterar för närvarande paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaktionen städar för närvarande upp..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Transaktionen löser för närvarande upp beroenden för paketen som ska " +"installeras..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transaktionen kontrollerar för närvarande paketens signaturer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Transaktionen provar för närvarande att verkställa installation av " +"uppsättningen paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" +"Transaktionen verkställer för närvarande installation av dess uppsättning " +"paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaktionen är klar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaktionen har avbrutits" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaktionen väntar för närvarande på låset..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Väntar på att användaren ska godkänna transaktionen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaktionen kopierar för närvarande filer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Uppdaterar för närvarande arkivcachen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Okänd status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Test" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Nerkopplade uppdateringar" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Misslyckades uppdatera %1 paket:\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Uppdaterade %1 paket med lyckat resultat" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Uppgradering tillgänglig" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Ny instabil version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Ny version: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Nuvarande version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Föråldrade:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Ny version:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Uppdateringstillstånd:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Starta om:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Tillverkare:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 beroende)" +msgstr[1] "%2 (plus %1 beroenden)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Arkivets webbadress:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Paket att ta bort" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Följande paket kommer att tas bort av uppdateringen:\n" +"
    • %1
    \n" +"för att installera:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Starta om datorn för att slutföra installationen." + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Mediabyte av typ '%1' begärs.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paketet %1 och dess leverantör %2 kräver att du accepterar deras licens:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Saknar signatur för %1 i %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Litar du på följande nyckel?\n" +"\n" +"Webbadress: %1\n" +"Användare: %2\n" +"Nyckel: %3\n" +"Fingeravtryck: %4\n" +"Tidsstämpel: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Bekräfta paketborttagning" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Åtgärden tar också bort följande paket:\n" +"%2" +msgstr[1] "" +"Åtgärden tar också bort följande paket:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Lås" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Det här tagningsprogrammet kräver att inskränkande säkerhetsåtgärder " +"inaktiveras." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Lista alla gränssnitt som vi vill ska laddats, åtskilda av kommatecken ','." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Felaktigt" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Tillgängligt" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Installerat" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Uppgraderingsbart" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Starta" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Titta efter uppdateringar" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Uppdatera" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Startar" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Väntar" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Laddar ner" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerar" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Tar bort" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Ändrar tillägg" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Klar" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Misslyckades" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Avbruten" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programuppdateringar" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systemuppdateringar" \ No newline at end of file diff --git a/po/sv/plasma-discover-notifier.po b/po/sv/plasma-discover-notifier.po new file mode 100644 index 0000000..437957d --- /dev/null +++ b/po/sv/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 18:35+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Uppdatera" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Säkerhetsuppdateringar är tillgängliga" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Uppdateringar tillgängliga" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Systemet är uppdaterat" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Datorn måste startas om" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paket att uppdatera" +msgstr[1] "%1 paket att uppdatera" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "av vilka ett är en säkerhetsuppdatering" +msgstr[1] "av vilka %1 är säkerhetsuppdateringar" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "1 paket att uppdatera" +msgstr[1] "%1 paket att uppdatera" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 säkerhetsuppdatering" +msgstr[1] "%1 säkerhetsuppdateringar" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Inga paket att uppdatera" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Omstart krävs" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Systemet måste startas om för att uppdateringarna ska få effekt." \ No newline at end of file diff --git a/po/sv/plasma-discover.po b/po/sv/plasma-discover.po new file mode 100644 index 0000000..eb44a96 --- /dev/null +++ b/po/sv/plasma-discover.po @@ -0,0 +1,646 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-22 19:40+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kunde inte hitta kategori '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Kan inte interagera med flatpak-resurser utan flatpak-gränssnitt %1. " +"Installera det först." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Kunde inte öppna %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Öppna angivet program direkt enligt dess paketnamn." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Öppna med ett program som kan hantera den givna Mime-typen." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Visa en lista med poster med en kategori." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Öppna Upptäck med angivet läge. Lägen motsvarar knapparna i verktygsraden." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Lista alla tillgängliga lägen." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt läge (automatiskt/kompakt/fullt)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Lokal paketfil att installera" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Lista alla tillgängliga gränssnitt." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Stöder appstream: webbadresschema" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Upptäck" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "En programutforskare" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma-utvecklingsgruppen" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Tillgängliga gränssnitt:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Tillgängliga lägen:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Tillägg" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Verkställ ändringar" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Kasta" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Mer..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Lägg till ett nytt %1 arkiv" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Lägg till" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Avbryt" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 betyg" +msgstr[1] "%1 betyg" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Inga betyg ännu" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Källor" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Vad är nytt" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Omdömen" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Visa %1 omdöme..." +msgstr[1] "Visa alla %1 omdömen..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Skriv ett omdöme!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Bli först med att skriva ett omdöme!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Installera programmet för att skriva ett omdöme!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Installera programmet och bli först med att skriva ett omdöme!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Kategori:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, utgiven %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Storlek:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Källa:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Licens:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Hemsida:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Användarguide:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Ge bidrag:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Rapportera ett problem:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Sortera: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Namn" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Betyg" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Storlek" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Utgivningsdatum" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Tyvärr hittades ingenting ..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Fortsätter leta ..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Presenterade" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Att köra som systemadministratör är onödigt och avråds från." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Sök" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Installerat" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Söker efter uppdateringar..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Inga uppdateringar" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Uppdatera (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Inställningar" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Tyvärr..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Kunde inte stäng programmet, det finns uppgifter som måste utföras." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Kan inte hitta resurs: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Fortsätt" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installera" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Ta bort" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Läser in..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resurser för '%1'" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Utökningar..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Uppgifter (%1 %)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Uppgifter" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Informera oss om det här omdömet." + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 av %2 personer ansåg att omdömet var till nytta" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "okänd recensent" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 av %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar av %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttigt? Ja/Nej" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttigt? Ja/Nej" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Nyttigt? Ja/Nej" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Recenserar '%1'" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Betyg:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Inskickningsnamn: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Rubrik:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Omdöme:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Ange ett betyg" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Skriv en rubrik" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Fortsätt skriva..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "För långt." + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Skicka in omdöme" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Omdöme..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Sök..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Sök i '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (förval)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Gör till förval" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Lägg till källa..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Misslyckades öka preferens för '%1'" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Misslyckades minska preferens för '%1'" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Ta bort ursprunget" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Misslyckades ta bort källan '%1'" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Saknar gränssnitt" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Uppdateringar" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Uppdatera markerade" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Uppdatera alla" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "uppdateringar markerade" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "uppdateringar ej markerade" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Mer information..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Hämtar..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Söker efter uppdateringar" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Uppdaterar..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Hämtar uppdateringar" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Uppdateringar" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Systemet är aktuellt" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Inga uppdateringar" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Inga uppdateringar tillgängliga" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Bör kontrollera uppdateringar" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Det är inte känt när senaste kontrollen av uppdateringar utfördes" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Kopiera länkadress" \ No newline at end of file diff --git a/po/sv/plasma_applet_org.kde.discovernotifier.po b/po/sv/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..2e07b50 --- /dev/null +++ b/po/sv/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,38 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2014, 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 11:29+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Visa uppdateringar" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Startar Discover för att uppdatera programvaran" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Öppna programvarucentral..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Visa uppdateringar..." \ No newline at end of file diff --git a/po/tr/libdiscover.po b/po/tr/libdiscover.po new file mode 100644 index 0000000..dd0ad24 --- /dev/null +++ b/po/tr/libdiscover.po @@ -0,0 +1,1598 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2012. +# Volkan Gezer , 2013-2014, 2015, 2017. +msgid "" +msgstr "" +"Project-Id-Version: extragear-sysadmin-kde4\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2017-10-04 12:39+0000\n" +"Last-Translator: Kaan \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Uygulamalar" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Yardımcı Araçlar" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Erişilebilirlik" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Geliştirici Araçları" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Hata Ayıklama" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Grafiksel Arayüz Tasarımı" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Bütünleşik Geliştirme Ortamları" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Yerelleştirme" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilleme" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web Geliştirme" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Eğitim" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Bilim ve Mühendislik" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biyoloji" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kimya" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Bilgisayar Bilimleri ve Robotik" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Mühendislik" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Coğrafya" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Jeoloji" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematik" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizik" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Oyunlar" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Oyun Makinesi" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Masaüstü Oyunları" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Kart Oyunları" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Bulmacalar" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Rol Oynama" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Benzeştirim" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Spor" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Uygulamalar" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Benzeştirim" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikler" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Çizim" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Resim ve Kurgu" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotoğrafçılık" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Yayıncılık" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Tarama ve OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Göstericiler" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "İnternet" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Sohbet" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Dosya Paylaşımı" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "E-posta" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Web Tarayıcıları" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Çoklu Ortam" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ofis" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistem Ayarları" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma Eklentileri" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma Gereçleri" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Yazı Tipleri" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Boş Kategori" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "boş" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "boş" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "boş 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "içinde ıvır zıvır olan boş" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "boş 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "içinde daha fazla ıvır zıvır olan boş" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "boş 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "boş 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Yerel paket" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Bozulmuş appstream adresi '%1%'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Bilinmeyen" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Boyut bilgileri alınıyor" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Bilinmeyen boyut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 indirilecek, diskte %2 alan kaplayacak" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "diskte kapladığı alan %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "%1 kaynağı eklenemedi" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak depo URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Son Kullanıcı Lisans Sözleşmesini Kabul Et" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, fuzzy, kde-format +#| msgid "" +#| "The package %1 and its vendor %2 require that you accept their license:\n" +#| " %3" +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"%1 paketi ve sağlayıcısı %2, lisanslarını kabul etmenizi gerektiriyor:\n" +" %3" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma Eklentileri" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Uygulama Eklentileri" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Hatalı KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 için bilgi günlükle" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Appstream'in sisteminizde düzgün şekilde yapılandırıldığından emin olun" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Yetersiz bellek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "Kullanılabilir ağ bağantısı yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "İşlem desteklenmiyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "İç hata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Geçersiz paket kimliği" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Paketi kurulu değil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Paket bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Paket zaten kurulu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Paket indirme başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Paket grubu bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Paket grup listesi geçersiz" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Bağımlılık çözümü başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Geçersiz filtre" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Bir iş parçacığı oluşturma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "İletim başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "İletim iptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "Önbellek yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Depo bulunamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Sistem paketi kaldırılamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit yan uygulamacığı çöktü" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Başlatma hatası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Işlemi sonuçlandırma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Yapılandırma ayrıştırma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "İşlem iptal edilemiyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kilit alınamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Güncellenecek paket yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Depo yapılandırması yazılamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Yerel kurulum başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Bozuk GPG imzası bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Hiçbir GPG imzası bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Kaynak paketi kurulamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Depo yapılandırma hatası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Hiçbir lisans anlaşması yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Dosya çakışmaları bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Paket çakışması bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Depo mevcut değil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Geçersiz paket dosyası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Paket yüklemesi engellendi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Bozuk paket bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Tüm paketler zaten kurulu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Dosya bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Kullanılabilir başka yansı yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Hiçbir dağıtım yükseltme verisi yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Uyumsuz mimari" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "Cihazda boş alan kalmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Bir ortam değişimi gerekli" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Bu işlemi yürütmek için yetkiye sahip değilsiniz" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Güncelleştirme bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "İmzasız depodan kuramazsınız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "İmzasız depodan güncelleştirme yapamazsınız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Dosya listesi alınamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Gereklilikler alınamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Depo devre dışı bırakılamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Sınırlı indirme tespit edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Paket yapılandırma başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Paketi inşa etmek başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Paket kurma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Paket kaldırmak başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Güncelleme işlemi çalışan süreç nedeniyle başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "Paket veritabanı değişti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Sağlanan tür desteklenmiyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Kurulum kökü geçersiz" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Kaynaklar alınamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Öncelik iptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Bitmemiş işlem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Kilit gerekli" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Bilinmeyen hata %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' değişti ve yeniden başlatılma önerisinde bulunuyor." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" +"'%1' tarafından yapılan bir değişiklik, oturumu yeniden başlatmanızı " +"öneriyor." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' güvenlik nedeniyle güncellendi, oturumun yeniden başlatılması önerilir." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' güvenlik nedeniyle güncellendi, sistemin yeniden başlatılması önerilir." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" +"'%1' tarafından yapılan bir değişiklik, sistemi yeniden başlatmanızı " +"öneriyor." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Uygulama yeniden başlatılmalı." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Oturum yeniden başlatılmalı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Sistem yeniden başlatılmalı." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Güvenlik nedeniyle oturum yeniden başlatılmalı." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Güvenlik nedeniyle oturum yeniden başlatılmalı." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Önbellek Tazeleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Ayarlar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "İşleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Kaldır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "İndiriliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Kuruluyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Güncelleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Temizleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Bağımlılıklar çözümleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "İmzalar denetleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Gönderiler test ediliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Gönderiliyor(commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Tamamlandı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "İptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Kilit bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Yetkilendirme için bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Dosyalar kopyalanıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Bilinmeyen Durum" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Bir şey bekliyoruz." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "İşlem ayarlanıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "İşlem şu anda çalışıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "İşlem şu anda paketleri kaldırıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "İşlem şu anda paketleri indiriyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "İşlem şu anda paketleri kuruyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "İşlem şu anda paketleri güncelleştiriyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "İşlem şu anda temizleme yapıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "İşlem şu anda kurulacak paketlerin bağımlılıkları çözüyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "İşlem şu anda paketlerin imzalarını denetliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "İşlem şu anda bu paket dizisi gönderisini test ediyor ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "İşlem şu anda paket dizisini gönderiyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "İşlem tamamlandı!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "İşlem iptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "İşlem şu anda kilit bekliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Kullanıcının işleme yetki vermesi için bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "İşlem şu anda dosyaları kopyalıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Depo ön belleği şimdi tazeleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Bilinmeyen durum %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Kararlı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Kararsız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Deneme" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Uygulama Güncelleştirmeleri" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgid "There are %1 updated packages!" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "%1 paket güncellendi!" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Yükseltilebilir" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "Sürüm %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@label Column label" +#| msgid "Version" +msgid "Current Version:" +msgstr "Sürüm" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Eskiler:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "Sürüm %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Durumu Güncelle:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Yeniden Başlat:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Üretici:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Depo açıklaması:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Kaldırılacak paketler" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "%1" +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Güncelleme ile aşağıdaki paketler kaldırılacak:\n" +"%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"'%1' Ortam Değimi türü istendi.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"%1 paketi ve sağlayıcısı %2, lisanslarını kabul etmenizi gerektiriyor:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "" +#| "To proceed with this action, the following package needs removal:\n" +#| "%2" +#| msgid_plural "" +#| "To proceed with this action, the following packages need removal:\n" +#| "%2" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"Bu eylemle devam etmek aşağıdaki paketin kaldırılmasını gerektiriyor:\n" +"%2" +msgstr[1] "" +"Bu eylemle devam etmek aşağıdaki paketlerin kaldırılmasını gerektiriyor:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, fuzzy, kde-format +#| msgid "" +#| "List all the backends we'll want to have loaded, separated by coma ','." +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Yüklenmiş olmasını isteyeceğimiz tüm arka uçları virgülle ayrılmış olarak " +"listele." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Bozuk" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Kullanılabilir" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Kurulu" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Yükseltilebilir" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Güncelleştirmeleri Kontrol Et" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Güncelle" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Başlatılıyor" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Bekleniyor" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "İndiriliyor" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Kuruluyor" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Kaldırılıyor" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Ekler Değiştiriliyor" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Tamamlandı" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Başarısız oldu" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "İptal Edildi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Uygulama Güncelleştirmeleri" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistem Güncelleştirmeleri" \ No newline at end of file diff --git a/po/tr/plasma-discover-notifier.po b/po/tr/plasma-discover-notifier.po new file mode 100644 index 0000000..c566ff2 --- /dev/null +++ b/po/tr/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Volkan Gezer , 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2017-03-14 13:53+0100\n" +"Last-Translator: Volkan Gezer \n" +"Language-Team: Turkish \n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Güvenlik güncellemeleri mevcut" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Güncellemeler mevcut" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Sistem güncel" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "güncellenecek 1 paket var" +msgstr[1] "güncellenecek %1 paket var" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "bunlardan 1 tanesi güvenlik güncellemesi" +msgstr[1] "bunlardan %1 tanesi güvenlik güncellemesi" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "güncellenecek 1 paket var" +msgstr[1] "güncellenecek %1 paket var" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "1 güvenlik güncellemesi" +msgstr[1] "%1 güvenlik güncellemesi" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Güncellenecek paket yok" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" \ No newline at end of file diff --git a/po/tr/plasma-discover.po b/po/tr/plasma-discover.po new file mode 100644 index 0000000..2cfa7e6 --- /dev/null +++ b/po/tr/plasma-discover.po @@ -0,0 +1,674 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# obsoleteman , 2012. +# Volkan Gezer , 2013-2014, 2017. +# Kaan Ozdincer , 2014, 2015. +msgid "" +msgstr "" +"Project-Id-Version: extragear-sysadmin-kde4\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2017-10-04 12:36+0000\n" +"Last-Translator: Kaan \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "'%1' kategorisi bulunamadı" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1 açılamadı" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Belirtilen uygulamayı doğrudan paketin adı ile aç." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Belirtilen mime türü ile işlem yapabilen bir programla aç" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Bir kategoriye sahip girdi listelerini göster" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Keşfet'i söylenilen bir kipte aç. Kipler araç çubuğu düğmelerini değiştirir." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Tüm kullanılabilir kipleri listele." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Sıkışık Kip (otomatik/sıkı/tam)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Kurulacak yerel paket dosyası" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Tüm kullanılabilir arka uçları listele." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "appstream: url şeması destekleniyor" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Keşfet" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Bir uygulama keşfedici" + +#: discover/main.cpp:97 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2016 Plasma Geliştirme Takımı" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Kullanılabilir arka uçlar:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Kullanılabilir kipler:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Eklentiler" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Değişiklikleri Uygula" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Vazgeç" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Daha fazla..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Eklentiler" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "İptal" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Beğeni:" +msgstr[1] "Beğeni:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Kaynak:" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Gözden Geçir" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Show reviews (%1)..." +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Yorumları göster (%1)..." +msgstr[1] "Yorumları göster (%1)..." + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Gönder" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Sürüm: %1" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Boyut: %1" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Kaynak:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Lisans:" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage: " +msgid "Homepage:" +msgstr "Ana sayfa: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Ara: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "İsim" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Beğeni:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Boyut: %1" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Üzgünüm, hiçbir şey bulunamadı..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Hala arıyor..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "root olarak çalışmak tavsiye edilmez ve gereksizdir." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Ara" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Kurulu" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Güncellemeler kontrol ediliyor..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Güncelleme Yok" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Güncelle (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ayarlar" + +#: discover/qml/DiscoverWindow.qml:118 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Kısa özet..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "Uygulama kapatılamadı, yapılması gereken görevler var." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Kaynak bulunamadı: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Kur" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Kaldır" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Yükleniyor..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "'%1' için kaynaklar" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Uzantılar..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Görevler (%%1)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Görevler" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Bu gözden geçirme hakkındaki düşüncelerinizi paylaşın!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2 kişinin %1 tanesi bu gözden geçirmeyi faydalı bulmuş" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "bilinmeyen değerlendirici" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1, %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Yorumlar" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Faydalı mı? Evet/Hayır" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"Faydalı mı? Evet/Hayır" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Faydalı mı? Evet/Hayır" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "'%1' Değerlendirmesi" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Beğeni:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Gözden Geçir" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Güncelleniyor..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Gönder" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Gözden Geçir" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Ara..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1' içerisinde ara..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Kaynak Ekle" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Kökeni sil" + +#: discover/qml/SourcesPage.qml:205 +#, fuzzy, kde-format +#| msgid "Unable to find resource: %1" +msgid "Failed to remove the source '%1'" +msgstr "Kaynak bulunamadı: %1" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Güncellemeler" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Seçilenleri Güncelle" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Tümünü Güncelle" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "güncelleme seçildi" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "güncelleme seçilmedi" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgctxt "@info" +msgid "Fetching..." +msgstr "Güncelleniyor..." + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Checking for updates..." +msgctxt "@info" +msgid "Looking for updates" +msgstr "Güncellemeler kontrol ediliyor..." + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Güncelleniyor..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Güncellemeler alınıyor" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Güncellemeler" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Sistem güncel" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Güncelleme yok" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Güncelleştirme yok" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Güncelleme kontrol edilmeli" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Son güncellemenin denetlenme zamanı belli değil" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/tr/plasma_applet_org.kde.discovernotifier.po b/po/tr/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..d58bc24 --- /dev/null +++ b/po/tr/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,40 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2015-06-19 17:06+0000\n" +"Last-Translator: Necdet \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" + +#: contents/ui/Full.qml:51 +#, fuzzy, kde-format +#| msgid "See Updates..." +msgid "View Updates" +msgstr "Güncellemeleri Gör..." + +#: contents/ui/Full.qml:52 +#, fuzzy, kde-format +#| msgid "Launches the software to perform the update" +msgid "Launches Discover to update the software" +msgstr "Güncelleştirmeleri yapmak için yazılımı çalıştırır" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Güncellemeleri Gör..." \ No newline at end of file diff --git a/po/ug/libdiscover.po b/po/ug/libdiscover.po new file mode 100644 index 0000000..8800a72 --- /dev/null +++ b/po/ug/libdiscover.po @@ -0,0 +1,1648 @@ +# Uyghur translation for libmuon. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2013-09-08 07:04+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "پروگراممىلار" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "ئىجادىيەت" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "سازلا" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "يەرلىكلەشتۈرۈش" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"devel" +#| "\"" +#| msgid "Development" +msgctxt "Category" +msgid "Web Development" +msgstr "ئىجادىيەت" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "ئورنى" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "ئېلېكترونىكا" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "ماتېماتىكا" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "ئورنى" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "پروگراممىلار" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "ئورنى" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "گرافىك" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "ئىنتېرنېت" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "كۆپ ۋاسىتە" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "Category" +msgid "System Settings" +msgstr "يېڭىلانمىلار" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "خەت نۇسخا" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, fuzzy, kde-format +#| msgctxt "@label Label preceding the package category" +#| msgid "Category:" +msgctxt "Category" +msgid "Dummy Category" +msgstr "تۈرى:" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "نامەلۇم" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "نامەلۇم" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "پروگراممىلار" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"web\"" +#| msgid "Internet" +msgid "Internal error" +msgstr "ئىنتېرنېت" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not found" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package download failed" +msgstr "بوغچا چۈشۈرۈش تىزىمىنى ساقلاش…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package group not found" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package group list invalid" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Local install failed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Repo configuration error" +msgstr "كىملىك دەلىللەش خاتالىقى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package conflict found" +msgstr "بوغچا چۈشۈرۈش تىزىمىنى ساقلاش…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package install blocked" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "تارقىتىلما يۈكسەلدۈرۈش" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "ۋاسىتە ئۆزگەرتىش زۆرۈر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package failed to install" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled priority" +msgstr "ۋاز كەچ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "قۇلۇپلانغان" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "نامەلۇم خاتالىق" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "كۈتۈۋاتىدۇ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "چىقىرىۋەت" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "چۈشۈرۈۋاتىدۇ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "ئورنىتىۋاتىدۇ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "ئالاقە" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "تاماملاندى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled" +msgstr "ۋاز كەچ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "دەلىللەشنى كۈتۈۋاتىدۇ‏" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "نامەلۇم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "نامەلۇم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "ئورنىتىلغان" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "پروگراممىلار" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"%1 نى چۈرۈش مەغلۇپ بولدى\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "يۈكشەلدۈرگىلى بولىدۇ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New version: %1" +msgstr "نەشرى %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "@title:tab" +#| msgid "Versions" +msgid "Current Version:" +msgstr "نەشرى" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "@info:label Refers to a software version, Ex: Version 1.2.1:" +#| msgid "Version %1:" +msgid "New Version:" +msgstr "نەشرى %1:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Package" +msgid "Packages to remove" +msgstr "بوغچا" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "Unable to download the following packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "تۆۋەندىكى بوغچىلارنى چۈشۈرگىلى بولمىدى:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "بۇزۇلغان" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "ئىشلەتكىلى بولىدۇ" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "ئورنىتىلغان" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "يۈكشەلدۈرگىلى بولىدۇ" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "يېڭىلانمىنى تەكشۈرۈش" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "يېڭىلانمىلار" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "باشلاۋاتىدۇ..." + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "كۈتۈۋاتىدۇ" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "چۈشۈرۈۋاتىدۇ" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "ئورنىتىۋاتىدۇ" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "ئۆچۈرۈۋاتىدۇ..." + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "تامام" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "ۋاز كەچ" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "پروگراممىلار" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "يېڭىلانمىلار" \ No newline at end of file diff --git a/po/ug/plasma-discover.po b/po/ug/plasma-discover.po new file mode 100644 index 0000000..ad5129a --- /dev/null +++ b/po/ug/plasma-discover.po @@ -0,0 +1,675 @@ +# Uyghur translation for muon-discover. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Gheyret Kenji , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2013-09-08 07:04+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:96 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "پرورامما بايقىغۇچ" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "تاشلىۋەت" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "قىستۇرمىلار" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "ئەمەلدىن قالدۇر" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "باھالاش:" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "مەنبەلەر" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "باھالاش پىكىرلىرى" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "تەكشۈر" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "تاپشۇر" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size:" +msgstr "جەمئىي چوڭلۇقى: %1
    " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "مەنبەلەر" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage" +msgid "Homepage:" +msgstr "باش بەت" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "ئىزدە…" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "ئاتى" + +#: discover/qml/ApplicationsListPage.qml:82 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "باھالاش:" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size" +msgstr "جەمئىي چوڭلۇقى: %1
    " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "ئورنات" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "ئىزدە…" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "ئورنىتىلغان" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "يېڭىلا" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "يېڭىلا" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "يېڭىلا" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Settings" +msgstr "باھالاش" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "ئورنات" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "چىقىرىۋەت" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "ئوقۇۋاتىدۇ…" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "يېڭىلا" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing '%1'" +msgstr "تەكشۈر" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "باھالاش:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "تەكشۈر" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "ئوقۇۋاتىدۇ…" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "تاپشۇر" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "تەكشۈر" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "ئىزدە…" + +#: discover/qml/SearchField.qml:31 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "ئىزدە…" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "مەنبە قوشۇش" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "ھەممىنى يېڭىلا" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "ھەممىنى يېڭىلا" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Fetching..." +msgstr "ئوقۇۋاتىدۇ…" + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:282 +#, fuzzy, kde-format +#| msgid "Loading..." +msgctxt "@info" +msgid "Updating..." +msgstr "ئوقۇۋاتىدۇ…" + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/uk/libdiscover.po b/po/uk/libdiscover.po new file mode 100644 index 0000000..2d9d6e7 --- /dev/null +++ b/po/uk/libdiscover.po @@ -0,0 +1,1590 @@ +# Translation of libdiscover.po to Ukrainian +# Copyright (C) 2015-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-08-03 08:40+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "Програми" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Інструменти" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Доступність" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Інструменти розробника" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Налагоджування" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Розробка графічних інтерфейсів" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локалізація" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профілювання" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Розробка вебсторінок" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Освіта" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Наукові та інженерні обчислення" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономія" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Біологія" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Хімія" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Комп’ютерні науки та робототехніка" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроніка" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Інженерна справа" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Географія" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геологія" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Фізика" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Ігри" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркади" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Ігри на дошці" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карткові ігри" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Головоломки" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Рольові ігри" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Імітатори" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Стратегія" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спорт" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Екшн" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Імітатори" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графіка" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "Просторові" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Малювання" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Малювання та редагування" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотографія" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Видавнича справа" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Сканування та розпізнавання" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Переглядачі" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Інтернет" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Спілкування" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Спільний доступ до файлів" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Пошта" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Переглядачі інтернету" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Звук та відео" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "Редактори звуку та відео" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Програвачі звуку" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Програвачі відео" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "КД і DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офіс" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Системні параметри" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Додатки Плазми" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Віджети Плазми" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Шрифти" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Фіктивна категорія" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "тест" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "фіктивні додатки" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "фіктивний 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "фіктивний із вмістом" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "фіктивний 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "фіктивний зі значним вмістом" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "фіктивний 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "фіктивний 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "Локальний пакунок" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Помилкове форматування адреси appstream «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "Невідомий" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "Отримуємо дані щодо розміру" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "Невідомий розмір" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 буде отримано, %2 буде використано на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "Додати Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не вдалося додати джерело %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "адреса сховища Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "Погодитися з EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Для доступу до віддаленого сховища %1 вам слід погодитися із умовами " +"ліцензування:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Некоректний модуль %1, повідомте про це розробникам вашого дистрибутива." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Додатки Плазми" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "Додатки програм" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Помилкова адреса KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "Використати" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "Дані щодо входу для %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Будь ласка, переконайтеся, що у вашій системі належним чином налаштовано " +"Appstream" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "Не вистачає пам'яті" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "З’єднання з мережею недоступне" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "Дія не підтримується" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "Внутрішня помилка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "Помилка GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "Некоректний ідентифікатор пакунка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "Пакунок не встановлено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "Пакунок не знайдено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "Пакунок вже встановлено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "Спроба отримання пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "Не вдалося знайти групи пакунка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "Некоректний список груп пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Не вдалося розв’язати залежності" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "Некоректне фільтрування" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Не вдалося створити потік виконання" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "Помилка під час виконання дії" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "Дію скасовано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "У кеші немає ніяких даних" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "Не вдалося знайти сховище" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "Не можна вилучати пакунок, без якого система не працюватиме" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Фонова служба PackageKit завершила роботу у аварійному режимі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "Помилка ініціалізації" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Не вдалося завершити виконання дії" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "Під час обробки файла налаштувань сталася помилка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Не вдалося скасувати дію" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Не вдалося встановити блокування" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "Немає пакунків для оновлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "Не вдалося записати файл налаштувань сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "Невдала спроба локального встановлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Виявлено помилковий підпис GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "Не виявлено підпису GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "Не вдалося встановити пакунок з початковими кодами" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "Помилка у налаштуваннях сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "Немає ліцензійної угоди" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "Виявлено конфлікт файлів" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "Виявлено конфлікт пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "Сховище недоступне" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "Некоректний файл пакунка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "Встановлення пакунка заблоковано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "Виявлено пошкоджений пакунок" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "Усі пакунки вже встановлено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "Файл не знайдено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "Список дзеркал вичерпано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "Немає даних щодо оновлення дистрибутива" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "Несумісні архітектури" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "На пристрої зберігання даних більше немає вільного місця" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "Слід змінити носій" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Вас не уповноважено на виконання цієї операції" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "Оновлення не знайдено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Не можна виконувати встановлення з непідписаного сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Не можна виконувати оновлення з непідписаного сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "Не вдалося отримати список файлів" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "Не вдалося отримати список потрібних пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "Не вдалося вимкнути сховище" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "Виявлено отримання даних з обмеженим використанням" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "Спроба налаштування пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "Спроба збирання пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "Спроба встановлення пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "Не вдалося вилучити пакунок" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "Спроба оновлення зазнала невдачі через запущений процес" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "До бази даних пакунків внесено зміни" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "Підтримки наданого типу не передбачено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "Некоректна коренева тека встановлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "Не вдалося отримати початковий код" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "Скасовано пріоритетність" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "Незавершена дія" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "Потрібне блокування" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "Невідома помилка %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "До «%1» було внесено зміни, пропонуємо виконати перезавантаження." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Після змін, внесених «%1», варто перезапустити сеанс користувача." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» було оновлено з міркувань забезпечення захисту системи. Рекомендуємо " +"перезапустити ваш сеанс користувача, щоб внесені зміни набули чинності." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» було оновлено з міркувань забезпечення захисту системи. Рекомендуємо " +"перезапустити вашу операційну систему, щоб внесені зміни набули чинності." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" +"Після змін, внесених «%1», варто перезапустити вашу операційну систему." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Програму слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Сеанс користувача слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "Систему слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "З міркувань безпеки сеанс користувача слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "З міркувань безпеки систему слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "Очікуємо…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Оновлюємо кеш…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "Налаштовування…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "Виконуємо обробку…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "Вилучення…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "Отримання даних…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "Встановлюємо…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "Оновлення…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "Спорожнення…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Розв’язання залежностей…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "Перевіряємо підписи…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "Перевіряємо можливість запису…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "Надсилання…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "Завершено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "Скасовано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "Очікуємо на блокування…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Очікуємо на завершення розпізнавання…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "Копіювання файлів…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "Невідомий стан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "Очікуємо на подію." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "Налаштовуємо параметри дії…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Виконуємо обробку дії…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Вилучаємо пакунки…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Отримуємо дані пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Встановлюємо пакунки…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Оновлюємо пакунки…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Виконуємо вилучення непотрібних даних…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Зараз виконується розв’язання залежностей пакунків, які буде встановлено…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Виконуємо перевірку підписів пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Виконується перевірка можливості запису цього набору пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Зараз виконується запис до системи набору пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "Виконання дії завершено!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "Дію було скасовано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Виконується очікування на встановлення блокування…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Очікуємо на уповноваження від користувача на виконання дії…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Зараз виконується дія з копіювання файлів…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Зараз оновлюємо кеш сховищ…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "Невідомий стан %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Стабільний" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Нестабільний" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Тестовий" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "Автономні оновлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Не вдалося оновити %1 пакунків\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "Успішно оновлено %1 пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "Доступне оновлення дистрибутива" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "Нова нестабільна версія: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "Нова версія: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "Поточна версія:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "Робить застарілим:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "Нова версія:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "Стан оновлення:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "Перезапуск:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "Виробник:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (і %1 залежність)" +msgstr[1] "%2 (і %1 залежності)" +msgstr[2] "%2 (і %1 залежностей)" +msgstr[3] "%2 (і %1 залежність)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "Адреса сховища:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "Пакунки на вилучення" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"Під час оновлення буде вилучено такі пакунки:\n" +"
    • %1
    \n" +"для встановлення:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "Будь ласка, перезавантажте комп'ютер, щоб завершити встановлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Надіслано запит щодо зміни носія типу «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Встановлення пакунка %1, відповідно до вимок постачальника %2, потребує " +"підтвердження ліцензійної угоди:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Немає підпису %1 у %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"Довіряєте такому ключу?\n" +"\n" +"Адреса: %1\n" +"Користувач: %2\n" +"Ключ: %3\n" +"Відбиток: %4\n" +"Часова позначка: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "Підтвердження вилучення пакунка" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"У результаті виконання цієї дії буде також вилучено такі пакунки:\n" +"%2" +msgstr[1] "" +"У результаті виконання цієї дії буде також вилучено такі пакунки:\n" +"%2" +msgstr[2] "" +"У результаті виконання цієї дії буде також вилучено такі пакунки:\n" +"%2" +msgstr[3] "" +"У результаті виконання цієї дії буде також вилучено такий пакунок:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Для встановлення цієї програми snap слід вимкнути заходи обмеження доступу." + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Список всіх модулів, які слід завантажити, відокремлених комами («,»)." + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "Пошкоджено" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "Доступно" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "Встановлено" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "Можна оновлювати" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "Запустити" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Перевірити наявність оновлень" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "Оновлення" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/с" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Розпочинаємо" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Очікуємо" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Отримання" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Встановлення" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Вилучення" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Зміна додатків" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Завершено" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Помилка" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Скасовано" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Оновлення програм" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Оновлення системи" \ No newline at end of file diff --git a/po/uk/plasma-discover-notifier.po b/po/uk/plasma-discover-notifier.po new file mode 100644 index 0000000..9d832ed --- /dev/null +++ b/po/uk/plasma-discover-notifier.po @@ -0,0 +1,106 @@ +# Translation of plasma-discover-notifier.po to Ukrainian +# Copyright (C) 2015-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 08:47+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "Оновлення" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "Випущено оновлення для забезпечення захисту" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "Доступні оновлення" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "Система не потребує оновлення" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "Слід перезавантажити комп'ютер" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакунок для оновлення" +msgstr[1] "%1 пакунки для оновлення" +msgstr[2] "%1 пакунків для оновлення" +msgstr[3] "Один пакунок для оновлення" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "з яких %1 оновлення для забезпечення захисту" +msgstr[1] "з яких %1 оновлення для забезпечення захисту" +msgstr[2] "з яких %1 оновлень для забезпечення захисту" +msgstr[3] "з яких одне оновлень для забезпечення захисту" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 пакунок для оновлення" +msgstr[1] "%1 пакунки для оновлення" +msgstr[2] "%1 пакунків для оновлення" +msgstr[3] "Один пакунок для оновлення" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 оновлення для забезпечення захисту" +msgstr[1] "%1 оновлення для забезпечення захисту" +msgstr[2] "%1 оновлень для забезпечення захисту" +msgstr[3] "Одне оновлення для забезпечення захисту" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "Немає пакунків для оновлення" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "Потрібне перезавантаження" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Для застосування оновлень систему слід перезавантажити." \ No newline at end of file diff --git a/po/uk/plasma-discover.po b/po/uk/plasma-discover.po new file mode 100644 index 0000000..1a1de46 --- /dev/null +++ b/po/uk/plasma-discover.po @@ -0,0 +1,658 @@ +# Translation of plasma-discover.po to Ukrainian +# Copyright (C) 2012-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2012, 2013, 2014, 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-22 08:45+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не вдалося знайти категорію «%1»" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Не можна взаємодіяти з ресурсами flatpak без модуля flatpak %1. Будь ласка, " +"спочатку встановіть його." + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не вдалося відкрити %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Безпосередньо відкрити вказану за назвою пакунка програму." + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" +"Відкрити за допомогою програми, яка здатна обробляти дані цього типу MIME." + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Показати список записів з категорією." + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Відкрити Discover у вказаному режимі. Назви режимів відповідають назвам " +"кнопок панелі інструментів." + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "Побудувати список всіх доступних режимів." + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Компактний режим (auto/compact/full)." + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "Локальний файл пакунка для встановлення" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "Побудувати список всіх доступних модулів." + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Підтримує appstream: схема адрес" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Пошук" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "Програма для вивчення сховища програм" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© Команда розробників Плазми, 2010–2018" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступні модулі:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступні режими:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "Додатки" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "Застосувати зміни" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Відкинути" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "Більше…" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "Додати нове сховище %1" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "Додати" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Скасувати" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 оцінка" +msgstr[1] "%1 оцінки" +msgstr[2] "%1 оцінок" +msgstr[3] "%1 оцінка" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "Оцінок ще немає" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "Джерела" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "Що нового?" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Рецензії" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "Показати %1 рецензію…" +msgstr[1] "Показати усі %1 рецензії…" +msgstr[2] "Показати усі %1 рецензій…" +msgstr[3] "Показати %1 рецензію…" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "Напишіть рецензію!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "Будьте першим рецензентом!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "Встановіть цю програму, щоб написати рецензію!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "Встановіть цю програму і будьте першим рецензентом!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "Категорія:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Версія:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, випущено %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "Розмір:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "Джерело:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "Ліцензування:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "Домашня сторінка: " + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "Підручник користувача:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "Підтримати фінансово:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "Повідомити про проблему:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "Упорядковування: %1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Назва" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Оцінка" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "Розмір" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "Дата випуску" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "Вибачте, нічого не знайдено…" + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "Шукаємо…" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "Рекомендовані" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Працювати від імені користувача root не варто, у цьому немає " +"потреби." + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "Пошук" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Встановлено" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "Шукаємо оновлення…" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "Немає оновлень" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Оновлення (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Параметри" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "Вибачте…" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" +"Не вдалося завершити роботу програми, слід виконати заплановані завдання." + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не вдалося знайти ресурс: %1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "Продовжити" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Встановити" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Вилучити" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "Завантаження…" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ресурси для «%1»" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "Розширення…" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Завдання (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "Завдання" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 — %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Повідомте нам про свою думку щодо цієї рецензії!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 з %2 користувачів вважають цю рецензію корисною" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "невідомий рецензент" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1, %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "Коментар %1" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисна? Так/Ні" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисна? Так/Ні" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Корисна? Так/Ні" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "Рецензування «%1»" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Оцінка:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "Назва подання: %1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "Заголовок:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "Рецензія:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "Вкажіть оцінку" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "Напишіть заголовок" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "Напишіть ще щось…" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "Надто довгий!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "Надіслати рецензію" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "Рецензування…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Пошук…" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Пошук у «%1»…" + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Типове)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "Зробити типовим" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "Додати джерело…" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Не вдалося підвищити пріоритетність «%1»" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Не вдалося знизити пріоритетність «%1»" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "Вилучити походження" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "Не вдалося вилучити джерело «%1»" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "Не вистачає модулів обробки" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Оновлення" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "Оновити позначені" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "Оновити всі" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "оновлення позначено" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "оновлення не позначено" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "Докладніше…" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "Отримуємо…" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "Шукаємо оновлення" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "Оновлюємо…" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "Отримуємо оновлення" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Оновлення" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "Система не потребує оновлення" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "Немає оновлень" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "Доступних оновлень не виявлено" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Слід перевірити на оновлення" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Час останнього пошуку оновлень невідомий" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "Копіювати адресу посилання" \ No newline at end of file diff --git a/po/uk/plasma_applet_org.kde.discovernotifier.po b/po/uk/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..4e4cee3 --- /dev/null +++ b/po/uk/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,41 @@ +# Translation of plasma_applet_org.kde.discovernotifier.po to Ukrainian +# Copyright (C) 2016-2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Yuri Chornoivan , 2016, 2018. +msgid "" +msgstr "" +"Project-Id-Version: plasma_applet_org.kde.discovernotifier\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 08:41+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "Переглянути оновлення" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "Запускає Discover для виконання оновлення програм" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "Відкрити Центр програмного забезпечення…" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "Переглянути оновлення…" \ No newline at end of file diff --git a/po/vi/libdiscover.po b/po/vi/libdiscover.po new file mode 100644 index 0000000..c5de3a6 --- /dev/null +++ b/po/vi/libdiscover.po @@ -0,0 +1,1679 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# HeroP , 2012. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2012-06-13 11:10+0800\n" +"Last-Translator: HeroP \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 1.4\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Applications" +msgstr "Ứng dụng" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tiện ích" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Hỗ trợ truy cập" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Công cụ phát triển" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Gỡ lỗi " + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "Thiết kế giao diện đồ hoạ" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Bản địa hoá" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Phát triển web" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Giáo dục" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Science & Engineering" +msgctxt "Category" +msgid "Science and Engineering" +msgstr "Khoa học & Kỹ thuật" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Thiên văn học" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Sinh học" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Hoá học" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Computer Science & Robotics" +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "Khoa học máy tính & Robot" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Điện tử" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Kỹ thuật" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Địa lý" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Địa chất" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Toán học" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Vật lý" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Trò chơi" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Hành động" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Games" +msgctxt "Category" +msgid "Board Games" +msgstr "Trò chơi" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Games" +msgctxt "Category" +msgid "Card Games" +msgstr "Trò chơi" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Tư duy" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Nhập vai" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Giả lập" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Thể thao" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "Category" +msgid "Action" +msgstr "Ứng dụng" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Simulation" +msgctxt "Category" +msgid "Emulators" +msgstr "Giả lập" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Đồ hoạ" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Vẽ" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Painting & Editing" +msgctxt "Category" +msgid "Painting and Editing" +msgstr "Sơn sửa" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Ảnh" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Xuất bản" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Scanning & OCR" +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "Quét & OCR" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Trình xem" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Chia sẻ tập tin" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Thư" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Trình duyệt web" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Đa phương tiện" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Văn phòng" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "System & Settings" +msgctxt "Category" +msgid "System Settings" +msgstr "Hệ thống & thiết lập" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Phông chữ" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Không rõ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Không rõ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "sẽ tải %1, %2 trên đĩa" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 trên đĩa" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Ứng dụng" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "Chưa cài đặt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "Chưa cài đặt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package not found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "Chưa cài đặt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Save Download List As" +msgid "Package download failed" +msgstr "Lưu danh sách tải" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group not found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group list invalid" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Transaction failure" +msgstr "Lỗi khởi tạo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Initialization failure" +msgstr "Lỗi khởi tạo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@label Shows which package failed" +#| msgid "Package: %1" +msgid "Local install failed" +msgstr "Gói: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Repo configuration error" +msgstr "Lỗi khởi tạo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File conflicts found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package conflict found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgctxt "@label Shows which package failed" +#| msgid "Package: %1" +msgid "Package install blocked" +msgstr "Gói: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Corrupt package found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "Chưa cài đặt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File not found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Nâng cấp bản phân phối" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "Yêu cầu thay đổi đĩa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Update not found" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to configure" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to build" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to install" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to remove" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Đã khoá" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown error %1." +msgstr "Không rõ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "Đang đợi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"text" +#| "\"" +#| msgid "Word Processing" +msgid "Processing..." +msgstr "Xử lý văn bản" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Gỡ bỏ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "Đang tải" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Installing" +msgid "Installing..." +msgstr "Đang cài" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"comm" +#| "\"" +#| msgid "Communication" +msgid "Committing..." +msgstr "Giao tiếp" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Waiting for authorization..." +msgstr "Lỗi xác thực" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "Không rõ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "Không rõ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, fuzzy, kde-format +#| msgctxt "@info:status describes a past-tense action" +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Đã cài " + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Ứng dụng" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"Tải %1 thất bại\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Upgradeable" +msgid "Upgrade available" +msgstr "Nâng cấp được" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Version Control" +msgid "New version: %1" +msgstr "Quản lý phiên bản" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Version Control" +msgid "Current Version:" +msgstr "Quản lý phiên bản" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Version Control" +msgid "New Version:" +msgstr "Quản lý phiên bản" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Packages to remove" +msgstr "Không thể tìm thấy gói" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, fuzzy, kde-format +#| msgid "This action requires a change to another package:" +#| msgid_plural "This action requires changes to other packages:" +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "Hành động này yêu cầu thay đổi tới các gói khác:" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Broken" +msgid "Broken" +msgstr "Hỏng" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, fuzzy, kde-format +#| msgid "Available updates" +msgid "Available" +msgstr "Bản cập nhật sẵn sàng" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, fuzzy, kde-format +#| msgctxt "@info:status describes a past-tense action" +#| msgid "Installed" +msgid "Installed" +msgstr "Đã cài " + +#: libdiscover/resources/AbstractResource.cpp:107 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Upgradeable" +msgid "Upgradeable" +msgstr "Nâng cấp được" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tìm bản cập nhật" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Update" +msgstr "Bản cập nhật" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Starting" +msgstr "Đang đợi" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Waiting" +msgstr "Đang đợi" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Đang tải" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Đang cài" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Đang gỡ bỏ" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Đang thay đổi phần mở rộng" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when done" +#| msgid "Done" +msgctxt "@info:status" +msgid "Done" +msgstr "Xong" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Ứng dụng" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Bản cập nhật" \ No newline at end of file diff --git a/po/vi/plasma-discover.po b/po/vi/plasma-discover.po new file mode 100644 index 0000000..26a7d9c --- /dev/null +++ b/po/vi/plasma-discover.po @@ -0,0 +1,674 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# HeroP , 2012. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2012-06-13 10:17+0800\n" +"Last-Translator: HeroP \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Mở trực tiếp ứng dụng được chỉ định bằng tên gói của nó" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "Khám phá" + +#: discover/main.cpp:96 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "Một trình khám phá ứng dụng" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "Huỷ bỏ" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:74 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "Phần mở rộng" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "Huỷ" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Đánh giá" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:55 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Nguồn" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "Nhận xét" + +#: discover/qml/ApplicationPage.qml:213 +#, fuzzy, kde-format +#| msgid "%1 reviews" +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "%1 nhận xét" + +#: discover/qml/ApplicationPage.qml:246 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a review!" +msgstr "Gửi" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:338 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size:" +msgstr "Tổng kích thước: %1
    " + +#: discover/qml/ApplicationPage.qml:349 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Nguồn" + +#: discover/qml/ApplicationPage.qml:361 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "điểm: %1" + +#: discover/qml/ApplicationPage.qml:376 +#, fuzzy, kde-format +#| msgid "Homepage" +msgid "Homepage:" +msgstr "Trang chủ" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:69 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "Tìm kiếm trong '%1'..." + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "Tên" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "Đánh giá" + +#: discover/qml/ApplicationsListPage.qml:92 +#, fuzzy, kde-format +#| msgid "Total Size: %1
    " +msgid "Size" +msgstr "Tổng kích thước: %1
    " + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:190 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Cài đặt" + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:57 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Tìm kiếm..." + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "Đã cài " + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Checking for updates..." +msgstr "Cập nhật" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgid "No Updates" +msgstr "Cập nhật" + +#: discover/qml/DiscoverWindow.qml:71 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Cập nhật" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Đánh giá cao" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Cài đặt" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Gỡ bỏ" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "" + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:10 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Cập nhật" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "Hãy nói với chúng tôi về nhận xét này!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%1 trong số %2 người thấy nhận xét này hữu ích" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:73 +#, fuzzy, kde-format +#| msgid "Useful? Yes/No" +msgid "Useful? Yes/No" +msgstr "Hữu ích? Có/Không" + +#: discover/qml/ReviewDelegate.qml:76 +#, fuzzy, kde-format +#| msgid "Useful? Yes/No" +msgid "Useful? Yes/No" +msgstr "Hữu ích? Có/Không" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "Hữu ích? Có/Không" + +#: discover/qml/ReviewDialog.qml:21 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing '%1'" +msgstr "Nhận xét %1" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "Đánh giá:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:38 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review:" +msgstr "Nhận xét" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:55 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Gửi" + +#: discover/qml/ReviewsPage.qml:67 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Review..." +msgstr "Nhận xét" + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "Tìm kiếm..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "Tìm kiếm trong '%1'..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:104 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Thêm nguồn" + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Upgrade All!" +msgid "Update Selected" +msgstr "Nâng cấp tất cả!" + +#: discover/qml/UpdatesPage.qml:40 +#, fuzzy, kde-format +#| msgid "Upgrade All!" +msgid "Update All" +msgstr "Nâng cấp tất cả!" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Looking for updates" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:287 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "No updates" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "" \ No newline at end of file diff --git a/po/zh_CN/libdiscover.po b/po/zh_CN/libdiscover.po new file mode 100644 index 0000000..621e19c --- /dev/null +++ b/po/zh_CN/libdiscover.po @@ -0,0 +1,1571 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ni Hui , 2011. +# Weng Xuetian , 2013, 2015, 2016, 2017. +# Xuetian Weng , 2014. +# zwpwjwtz , 2015. +# Chao Feng , 2013, 2016. +# Guo Yunhe , 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2019-01-05 20:48\n" +"Last-Translator: guoyunhe \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/kde-workspace/libdiscover.pot\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "应用程序" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "附件" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "辅助" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "开发工具" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "调试" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "图形界面设计" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "集成开发环境" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "本地化" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "分析" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Web 开发" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "教育" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "科学和工程" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "天文" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "生物" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "化学" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "计算机科学和机器人学" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "电子" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "工程" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "地理学" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "地质学" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "数学" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "物理" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "游戏" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "街机" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "棋类游戏" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "牌类游戏" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "解谜" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "角色扮演" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "模拟" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "策略" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "运动" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "动作" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "模拟" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "图像" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "绘图" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "绘画和编辑" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "图像" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "出版" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "扫描和文字识别" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "查看器" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "互联网" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "聊天" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "文件共享" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "邮件" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "网页浏览器" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "多媒体" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "音频和视频编辑器" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "音频播放器" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "视频播放器" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD 和 DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "办公" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "系统设置" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma 附加组件" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma 部件" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "字体" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "虚设目录" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "虚设项" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "无用的附加组件" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "虚设项 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "有些内容的虚设项" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "虚设项 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "有不少内容的虚设项" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "虚设项 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "虚设项 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "本地包" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "格式异常的 appstream URL “%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "未知" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "获取尺寸信息" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "未知尺寸" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "需要下载 %1 ,安装后占用 %2 磁盘空间" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "安装后占用 %1 磁盘空间" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "添加 Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "不能添加源 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak 存储库 URI (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "接受 EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"远程 %1 需要您接受他们的许可协议:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "无效的 %1 后端。请与您的经销商联系。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1:%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma 附加组件" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "应用程序附加组件" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "错误的 KNewStuff URI:%1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "使用" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 的登录信息" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "请确保系统上正确设置了 AppStream" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "内存耗尽" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "无可用的网络连接" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "操作不被支持" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "内部错误" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG 认证失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID 无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "软件包未安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "软件包未找到" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "软件包已安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "软件包下载失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "无法找到软件包组" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "软件包列表无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "依赖关系解决失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "过滤器无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "创建线程失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "事务失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "事务已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "无可用缓存" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "无法找到软件仓库" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "无法移除系统包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit 守护进程已崩溃" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "初始化错误" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "未能完成事务" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "解析配置失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "无法取消事务" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "无法获得锁" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "没有可更新的软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "无法写入软件仓库配置" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "本地安装失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "找到了错误的 GPG 签名" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "未找到 GPG 签名" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "无法安装源代码包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "软件仓库配置错误" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "没有许可协议" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "发现了冲突的文件" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "发现了冲突的包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "软件仓库不可用" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "包文件无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "安装软件包操作被阻止" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "发现了损坏的包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "所有软件包已被安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "找不到文件" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "没有更多可用的镜像" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "没有发行版升级数据" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "架构不兼容" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "设备上没有可用空间" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "需要更换安装介质" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "您没有足够的权限来执行这一操作" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "找不到更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "无法从未签名的软件仓库安装程序" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "无法从未签名的软件仓库更新程序" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "无法获取文件列表" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "无法获取依赖信息" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "无法禁用软件仓库" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "检测到下载被限制" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "配置软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "构建软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "安装软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "移除软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "由于进程正在运行,更新已失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "软件包数据库已改变" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "不支持给定的类型" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "安装所用根目录无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "无法获取源代码" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "已取消的优先级" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "未完成的事务" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "需要锁" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "未知错误 %1。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "“%1”已被更改,建议重启。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "来自“%1”的变更提示您重启会话。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "“%1”因安全问题已被更新,建议重启会话。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "“%1”因安全问题已被更新,建议重启系统。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "来自“%1”的变更提示您重启系统。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "应用程序将会重启。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "当前会话将会重启" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "系统将会重启。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "出于安全考虑,会话必须重新启动。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "出于安全考虑,系统必须重新启动。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "等待中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "正在刷新缓存..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "设置..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "正在处理..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "正在删除..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "正在下载..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "正在安装..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "正在更新..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "正在清理..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "正在解决依赖关系..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "检查签名..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "测试提交..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "正在提交..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "已完成" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "等待锁..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "正在等待认证..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "正在复制文件..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "未知状态" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "我们正在等待。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "正在设置事务..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "事务正在进行中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "当前事务正在移除软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "当前事务正在下载软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "当前事务正在安装软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "当前事务正在更新软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "当前事务正在进行清理工作..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "当前事务正在处理所需安装软件包的依赖关系..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "当前事务正在校验软件包的签名..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "当前事务正在测试软件包的提交..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "当前事务正在提交软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "事务已完成!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "事务已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "事务正在等待锁..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "正在等待用户授权处理事务..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "当前事务正在复制文件..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "正在更新软件仓库缓存..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "未知状态 %1。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "稳定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "不稳定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "测试" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "离线更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"更新 %1 个软件包失败\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "成功更新了 %1 个软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "升级可用" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "新的不稳定版本:%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "新版本:%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "," + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "当前版本:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "已废弃:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "新版本:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "更新状态:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "重启:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "供应商:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (加上 %1 个依赖)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "仓库 URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "要移除的软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"更新将删除以下软件包:\n" +"
    • %1
    \n" +"以安装:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "请重新启动计算机以完成安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"需要更换类型“%1”的安装介质。\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"软件包 %1 和其供应商 %2 需要您接受他们的许可协议:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%2 中 %1 的缺少签名" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"您信任以下密钥吗?\n" +"\n" +"链接: %1\n" +"用户: %2\n" +"密钥: %3\n" +"指纹: %4\n" +"时间戳: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "确认移除软件包" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"此操作还将移除以下软件包:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "此 Snap 应用程序需要禁用安全限制措施。" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "列出所有我们想要加载的后端,以英文逗号“,”隔开。" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "已损坏" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "可用" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "已安装" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "可升级" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "启动" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "检查更新" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "更新" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/秒" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "正在启动" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "正在等待" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "正在下载" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "正在安装" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "移除" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "更改附加组件" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "完成" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "已失败" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "已取消" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "应用程序更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "系统更新" \ No newline at end of file diff --git a/po/zh_CN/plasma-discover-notifier.po b/po/zh_CN/plasma-discover-notifier.po new file mode 100644 index 0000000..fb150a0 --- /dev/null +++ b/po/zh_CN/plasma-discover-notifier.po @@ -0,0 +1,95 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Weng Xuetian , 2015. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2019-01-05 20:49\n" +"Last-Translator: guoyunhe \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/kde-workspace/plasma-discover-notifier." +"pot\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "更新" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "安全更新可用" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "更新可用" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "系统已为最新" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "计算机需要重新启动" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "要升级 %1 个软件包" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "其中 %1 个是安全更新" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1,%2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "要升级 %1 个软件包" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 个安全更新" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "没有可更新的软件包" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "需要重启" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "系统需要重启以使更新生效。" \ No newline at end of file diff --git a/po/zh_CN/plasma-discover.po b/po/zh_CN/plasma-discover.po new file mode 100644 index 0000000..048d6ec --- /dev/null +++ b/po/zh_CN/plasma-discover.po @@ -0,0 +1,649 @@ +# Copyright (C) 2013 This_file_is_part_of_KDE +# This file is distributed under the same license as the muon-discover package. +# +# Wylmer Wang , 2013. +# Xuetian Weng , 2014. +# Weng Xuetian , 2014, 2015, 2016. +# Guo Yunhe , 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2019-01-05 20:48\n" +"Last-Translator: guoyunhe \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/kde-workspace/plasma-discover.pot\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "找不到分类“%1”" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "缺少 flatpak 后端 %1,无法与 flatpak 资源进行交互。请先安装。" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "无法打开 %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "直接通过某个应用程序的软件包名打开程序。" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "用能处理指定 MIME 类型的程序打开。" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "显示某个分类中的项目列表。" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "以指明的方式打开发现者。模式与工具栏按钮对应。" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "列出所有可用的模式。" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "紧凑模式 (自动/紧凑/完整)。" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "要安装的本地软件包文件" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "列出所有可用的后端。" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "支持 appstream:url scheme" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "发现者" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "一款应用程序的探索工具" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma 开发团队" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "可用的后端:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "可用的模式:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "附加组件" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "应用更改" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "丢弃" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "更多..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "添加新的 %1 存储库" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "添加" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "取消" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 个评分" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "尚无评分" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "源代码" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "更新亮点" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "评论" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "显示所有 %1 条评价..." + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "撰写评论!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "写下第一条评价!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "安装此应用以发表评论!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "安装此应用程序,并成为第一个写评价的用户!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "分类:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "版本:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1,发布于 %2" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "大小:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "原因:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "许可证:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "主页:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "用户指南:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "捐赠:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "报告问题:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "排序:%1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "名称" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "评分" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "大小" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "发布日期" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "抱歉,未找到..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "仍在查找..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "精选" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "作为 root 运行是不鼓励和不必要的。" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "搜索" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "已安装" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "应当检查更新..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "无可用更新" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "更新 (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "设置" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "抱歉..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "无法关闭此应用程序,有需要完成的任务。" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "无法找到资源:%1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "继续" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "安装" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "移除" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "正在载入..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "“%1”的资源" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "扩展..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "任务 (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "任务" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "告诉我们这条评价!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2 位用户中有 %1 位觉得这条评价有用" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "未知评论者" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 由 %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "由 %1 评论" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"有用吗? 有/没有" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"有用吗? 有/没有" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "有用吗? 有/没有" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "评价“%1”" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "评分:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "投稿名称:%1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "标题:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "评价:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "输入评分" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "填写标题" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "继续写点什么吧..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "太长了!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "提交评价" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "评价..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "搜索..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "在“%1”中搜索..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (默认)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "设为默认" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "添加源..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "未能增加 \"%1\" 首选项" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "未能减少 \"%1\" 首选项" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "删除原始包" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "无法删除源 \"%1\"" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "缺少后端" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "更新选中" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "全部更新" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "更新选中" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "更新未选中" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "更多信息..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "正在获取..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "正在查找更新" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "正在更新..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "正在获取更新" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "系统已为最新" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "无更新" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "无更新可用" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "应当检查更新" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "上次检查更新的时间未知" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "复制链接地址" \ No newline at end of file diff --git a/po/zh_CN/plasma_applet_org.kde.discovernotifier.po b/po/zh_CN/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..9157cad --- /dev/null +++ b/po/zh_CN/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,43 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Xuetian Weng , 2014. +# Weng Xuetian , 2015. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2019-01-05 20:49\n" +"Last-Translator: guoyunhe \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/kde-workspace/plasma_applet_org.kde." +"discovernotifier.pot\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "查看更新" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "启动 Discover 更新软件" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "打开软件中心..." + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "查看更新..." \ No newline at end of file diff --git a/po/zh_TW/libdiscover.po b/po/zh_TW/libdiscover.po new file mode 100644 index 0000000..66ff0fb --- /dev/null +++ b/po/zh_TW/libdiscover.po @@ -0,0 +1,1566 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Franklin Weng , 2010, 2011, 2012, 2013, 2014, 2015. +# Jeff Huang , 2016, 2017. +# pan93412 , 2018. +# +# Franklin Weng , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-10 07:10+0100\n" +"PO-Revision-Date: 2018-10-31 01:41+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: categoriesxml.cpp:2 categoriesxml.cpp:114 categoriesxml.cpp:220 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:5 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:5 +#: libdiscover/backends/SnapBackend/snap-backend-categories.xml:5 +#, kde-format +msgctxt "Category" +msgid "Applications" +msgstr "應用程式" + +#: categoriesxml.cpp:4 categoriesxml.cpp:116 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "附屬應用程式" + +#: categoriesxml.cpp:6 categoriesxml.cpp:118 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "無障礙輔助" + +#: categoriesxml.cpp:8 categoriesxml.cpp:120 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "程式開發工具" + +#: categoriesxml.cpp:10 categoriesxml.cpp:122 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "除錯" + +#: categoriesxml.cpp:12 categoriesxml.cpp:124 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:58 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:58 +#, kde-format +msgctxt "Category" +msgid "Graphic Interface Design" +msgstr "圖形介面設計" + +#: categoriesxml.cpp:14 categoriesxml.cpp:126 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "整合開發環境" + +#: categoriesxml.cpp:16 categoriesxml.cpp:128 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "本地化" + +#: categoriesxml.cpp:18 categoriesxml.cpp:130 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "效能測試" + +#: categoriesxml.cpp:20 categoriesxml.cpp:132 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "網頁開發" + +#: categoriesxml.cpp:22 categoriesxml.cpp:134 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "教育" + +#: categoriesxml.cpp:24 categoriesxml.cpp:136 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:120 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:120 +#, kde-format +msgctxt "Category" +msgid "Science and Engineering" +msgstr "科學與工程" + +#: categoriesxml.cpp:26 categoriesxml.cpp:138 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "天文學" + +#: categoriesxml.cpp:28 categoriesxml.cpp:140 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "生物學" + +#: categoriesxml.cpp:30 categoriesxml.cpp:142 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "化學" + +#: categoriesxml.cpp:32 categoriesxml.cpp:144 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:155 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:155 +#, kde-format +msgctxt "Category" +msgid "Computer Science and Robotics" +msgstr "電腦科學與機器人學" + +#: categoriesxml.cpp:34 categoriesxml.cpp:146 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "電子學" + +#: categoriesxml.cpp:36 categoriesxml.cpp:148 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "工程計算" + +#: categoriesxml.cpp:38 categoriesxml.cpp:150 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "地理" + +#: categoriesxml.cpp:40 categoriesxml.cpp:152 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "地質學" + +#: categoriesxml.cpp:42 categoriesxml.cpp:154 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "數學" + +#: categoriesxml.cpp:44 categoriesxml.cpp:156 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "物理屬性" + +#: categoriesxml.cpp:46 categoriesxml.cpp:158 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "遊戲" + +#: categoriesxml.cpp:48 categoriesxml.cpp:160 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "大型遊戲機遊戲" + +#: categoriesxml.cpp:50 categoriesxml.cpp:162 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "棋盤遊戲" + +#: categoriesxml.cpp:52 categoriesxml.cpp:164 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "紙牌遊戲" + +#: categoriesxml.cpp:54 categoriesxml.cpp:166 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "解謎遊戲" + +#: categoriesxml.cpp:56 categoriesxml.cpp:168 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "角色扮演" + +#: categoriesxml.cpp:58 categoriesxml.cpp:170 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "模擬" + +#: categoriesxml.cpp:60 categoriesxml.cpp:172 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "策略" + +#: categoriesxml.cpp:62 categoriesxml.cpp:174 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "運動" + +#: categoriesxml.cpp:64 categoriesxml.cpp:176 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "動作" + +#: categoriesxml.cpp:66 categoriesxml.cpp:178 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "模擬器" + +#: categoriesxml.cpp:68 categoriesxml.cpp:180 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "美工繪圖" + +#: categoriesxml.cpp:70 categoriesxml.cpp:182 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "立體" + +#: categoriesxml.cpp:72 categoriesxml.cpp:184 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "繪圖" + +#: categoriesxml.cpp:74 categoriesxml.cpp:186 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:356 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:356 +#, kde-format +msgctxt "Category" +msgid "Painting and Editing" +msgstr "繪圖與編輯" + +#: categoriesxml.cpp:76 categoriesxml.cpp:188 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "攝影" + +#: categoriesxml.cpp:78 categoriesxml.cpp:190 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "出版" + +#: categoriesxml.cpp:80 categoriesxml.cpp:192 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:387 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:387 +#, kde-format +msgctxt "Category" +msgid "Scanning and OCR" +msgstr "掃描與光學辨識" + +#: categoriesxml.cpp:82 categoriesxml.cpp:194 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "檢視器" + +#: categoriesxml.cpp:84 categoriesxml.cpp:196 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "網際網路" + +#: categoriesxml.cpp:86 categoriesxml.cpp:198 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "聊天" + +#: categoriesxml.cpp:88 categoriesxml.cpp:200 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "檔案分享" + +#: categoriesxml.cpp:90 categoriesxml.cpp:202 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "郵件" + +#: categoriesxml.cpp:92 categoriesxml.cpp:204 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "網頁伺服器" + +#: categoriesxml.cpp:94 categoriesxml.cpp:206 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "多媒體" + +#: categoriesxml.cpp:96 categoriesxml.cpp:208 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:468 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:468 +#, kde-format +msgctxt "Category" +msgid "Audio and Video Editors" +msgstr "音訊與視訊編輯器" + +#: categoriesxml.cpp:98 categoriesxml.cpp:210 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "音樂播放器" + +#: categoriesxml.cpp:100 categoriesxml.cpp:212 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "影片播放器" + +#: categoriesxml.cpp:102 categoriesxml.cpp:214 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:516 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:516 +#, kde-format +msgctxt "Category" +msgid "CD and DVD" +msgstr "CD 與 DVD" + +#: categoriesxml.cpp:104 categoriesxml.cpp:216 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "辦公軟體" + +#: categoriesxml.cpp:106 categoriesxml.cpp:218 +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "系統設定" + +#: categoriesxml.cpp:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma 外加功能" + +#: categoriesxml.cpp:110 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma 元件" + +#: categoriesxml.cpp:112 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "字型" + +#: categoriesxml.cpp:222 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "假類別:" + +#: categoriesxml.cpp:224 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "測試用" + +#: categoriesxml.cpp:226 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "測試用外加功能" + +#: categoriesxml.cpp:228 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "測試用 1" + +#: categoriesxml.cpp:230 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "測試用,加上一些東西" + +#: categoriesxml.cpp:232 categoriesxml.cpp:236 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:42 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:57 +#, kde-format +msgctxt "Category" +msgid "dummy 2.1" +msgstr "測試用 2.1" + +#: categoriesxml.cpp:234 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "測試用,加上更多東西" + +#: categoriesxml.cpp:238 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "測試用 3" + +#: categoriesxml.cpp:240 +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "測試用 4" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:251 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:112 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:361 +#, kde-format +msgid "Local bundle" +msgstr "本機 Bundle" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1151 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:425 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:439 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "不正確的 appstream 網址 '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:107 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:229 +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:102 +#, kde-format +msgid "Unknown" +msgstr "未知" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:349 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgid "Retrieving size information" +msgstr "正在取得大小資訊" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:351 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:359 +#, kde-format +msgid "Unknown size" +msgstr "未知的大小" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 個準備下載,%2 個在磁碟中" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 個在磁碟中" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:53 +#, kde-format +msgid "Add Flathub" +msgstr "新增 Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:103 +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:114 +#, kde-format +msgid "Could not add the source %1" +msgstr "無法增加來源 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:283 +#, kde-format +msgid "Flatpak repository URI (*.flatpakrepo)" +msgstr "Flatpak 軟體庫連結 (*.flatpakrepo)" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "Accept EULA" +msgstr "接受 EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"遠端 %1 要求您接受他們的條款:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:122 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "無效的 %1 後端,聯絡你的經銷商。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:131 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma 外加功能" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:158 +#, kde-format +msgid "Application Addons" +msgstr "應用程式外加功能" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:418 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "錯誤的 KNewStuff URI:%1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:232 +#, kde-format +msgid "Use" +msgstr "使用" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:142 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 的登入資訊" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:141 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "請確認 Appstream 已經在您的系統上設定好了" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Out of memory" +msgstr "記憶體不足" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "No network connection available" +msgstr "沒有可用的網路連結" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Operation not supported" +msgstr "操作未支援" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Internal error" +msgstr "內部錯誤" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "GPG failure" +msgstr "GPG 失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID 不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Package not installed" +msgstr "軟體包未安裝" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Package not found" +msgstr "找不到軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Package is already installed" +msgstr "軟體包已安裝" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Package download failed" +msgstr "軟體包下載失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "Package group not found" +msgstr "找不到軟體包群組" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Package group list invalid" +msgstr "軟體包群組清單不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Dependency resolution failed" +msgstr "相依性解決失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "Filter invalid" +msgstr "過濾器不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Failed while creating a thread" +msgstr "建立執行緒失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Transaction failure" +msgstr "工作階段失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Transaction canceled" +msgstr "工作階段取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "No Cache available" +msgstr "沒有快取可使用" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot find repository" +msgstr "找不到軟體庫" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "Cannot remove system package" +msgstr "無法移除系統軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit 伺服程式已崩潰" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Initialization failure" +msgstr "初始化失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "工作階段收尾失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "Config parsing failed" +msgstr "剖析設定失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "無法取消工作階段" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Cannot obtain lock" +msgstr "無法取得鎖定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No packages to update" +msgstr "沒有軟體包需要更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "Cannot write repo config" +msgstr "無法寫入軟體庫設定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Local install failed" +msgstr "本地安裝失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Bad GPG signature found" +msgstr "找到錯誤的 GPG 簽章" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "No GPG signature found" +msgstr "找不到 GPG 簽章" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Cannot install source package" +msgstr "無法安裝來源軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Repo configuration error" +msgstr "軟體庫設定錯誤" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "No license agreement" +msgstr "沒有授權宣告" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File conflicts found" +msgstr "發現檔案衝突" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "Package conflict found" +msgstr "發現軟體包衝突" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "Repo not available" +msgstr "無法使用軟體庫" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Invalid package file" +msgstr "無效的軟體包檔案" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "Package install blocked" +msgstr "軟體包安裝被封鎖" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "Corrupt package found" +msgstr "發現損毀的軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "All packages already installed" +msgstr "已安裝所有軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "File not found" +msgstr "找不到檔案" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "No more mirrors available" +msgstr "沒有其他可用的鏡像站" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "No distro upgrade data" +msgstr "沒有散布版升級資料" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Incompatible architecture" +msgstr "不相容的硬體架構" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "No space on device left" +msgstr "裝置上已無空間" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "A media change is required" +msgstr "需要更換媒體" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "您沒有權限執行此操作" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Update not found" +msgstr "找不到更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "無法從未簽署的軟體庫進行安裝" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "無法從未簽署的軟體庫進行更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Cannot get file list" +msgstr "無法取得檔案清單" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Cannot get requires" +msgstr "無法取得需求" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "Cannot disable repository" +msgstr "無法關閉主目錄" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "Restricted download detected" +msgstr "偵測到限制下載" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Package failed to configure" +msgstr "軟體包設定失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgid "Package failed to build" +msgstr "軟體包建立失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Package failed to install" +msgstr "軟體包安裝失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Package failed to remove" +msgstr "軟體包移除失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Update failed due to running process" +msgstr "由於程序正在執行,因而更新失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:154 +#, kde-format +msgid "The package database changed" +msgstr "軟體包資料庫已變更" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:156 +#, kde-format +msgid "The provided type is not supported" +msgstr "不支援所提供的型態" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:158 +#, kde-format +msgid "Install root is invalid" +msgstr "安裝目錄不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:160 +#, kde-format +msgid "Cannot fetch sources" +msgstr "無法取得來源" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:162 +#, kde-format +msgid "Canceled priority" +msgstr "已取消優先權" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:164 +#, kde-format +msgid "Unfinished transaction" +msgstr "未完成的處理事項" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "Lock required" +msgstr "需要鎖定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:171 +#, kde-format +msgid "Unknown error %1." +msgstr "未知的錯誤 %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:180 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' 已變更,並建議重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:182 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "'%1' 的變更建議您重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:184 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "'%1' 已因為安全性理由而更新。建議重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:186 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "'%1' 已因為安全性理由而更新。建議重新開機。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "A change by '%1' suggests your system to be rebooted." +msgstr "'%1' 的變更建議您重新開機。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:199 +#, kde-format +msgid "The application will have to be restarted." +msgstr "此應用程式必須重啟。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:201 +#, kde-format +msgid "The session will have to be restarted" +msgstr "工作階段必須重啟。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:203 +#, kde-format +msgid "The system will have to be rebooted." +msgstr "系統必須重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "為了安全起見,工作階段必須重啟。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "為了安全起見,系統必須重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Waiting..." +msgstr "等待中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Refreshing Cache..." +msgstr "刷新快取中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:223 +#, kde-format +msgid "Setup..." +msgstr "設定..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:225 +#, kde-format +msgid "Processing..." +msgstr "處理中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:227 +#, kde-format +msgid "Remove..." +msgstr "移除..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:229 +#, kde-format +msgid "Downloading..." +msgstr "下載中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:231 +#, kde-format +msgid "Installing..." +msgstr "安裝中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Updating..." +msgstr "更新中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Cleaning up..." +msgstr "清除中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:238 +#, kde-format +msgid "Resolving dependencies..." +msgstr "解決相依性問題中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:240 +#, kde-format +msgid "Checking signatures..." +msgstr "檢查簽章中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:242 +#, kde-format +msgid "Test committing..." +msgstr "測試提交中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Committing..." +msgstr "提交中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Finished" +msgstr "已完成" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:249 +#, kde-format +msgid "Canceled" +msgstr "已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:251 +#, kde-format +msgid "Waiting for lock..." +msgstr "等待鎖定中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:253 +#, kde-format +msgid "Waiting for authorization..." +msgstr "等待認證中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:258 +#, kde-format +msgid "Copying files..." +msgstr "複製檔案中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "Unknown Status" +msgstr "未知的狀態" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "We are waiting for something." +msgstr "正在等待中。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:271 +#, kde-format +msgid "Setting up transaction..." +msgstr "設定工作階段中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:273 +#, kde-format +msgid "The transaction is currently working..." +msgstr "工作階段目前進行中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:275 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "目前正在移除軟體包中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:277 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "目前正在下載軟體包中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:279 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "目前正在安裝軟體包中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "目前正在更新軟體包中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "目前正在清除中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:286 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "目前正在解決軟體包相依性問題中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:288 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "目前正在檢查簽章中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:290 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "目前正在測試軟體包集的提交中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "目前正在提交軟體包集中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:295 +#, kde-format +msgid "The transaction has finished!" +msgstr "此工作階段已完成。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:297 +#, kde-format +msgid "The transaction was canceled" +msgstr "工作階段已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "目前正在等待鎖定中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:301 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "目前正在等待使用者認證中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:306 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "目前正在複製檔案中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:308 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "目前正在刷新軟體庫快取中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:313 +#, kde-format +msgid "Unknown status %1." +msgstr "未知的狀態 %1。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:324 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "穩定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:326 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "不穩定版" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:328 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "測試中" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:130 +#, kde-format +msgid "Offline Updates" +msgstr "離線更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:119 +#, kde-format +msgid "" +"Failed to update %1 packages\n" +"%2" +msgstr "" +"下載 %1 軟體包失敗\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:131 +#, kde-format +msgid "Successfully updated %1 packages" +msgstr "順利更新 %1 軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:212 +#, kde-format +msgid "Upgrade available" +msgstr "可以更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:216 +#, kde-format +msgid "New unstable version: %1" +msgstr "新的不穩定版本:%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "新版本: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:236 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:238 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgid "Current Version:" +msgstr "目前版本:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:258 +#, kde-format +msgid "Obsoletes:" +msgstr "廢棄:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:259 +#, kde-format +msgid "New Version:" +msgstr "新版本: " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:260 +#, kde-format +msgid "Update State:" +msgstr "更新狀態:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:261 +#, kde-format +msgid "Restart:" +msgstr "重新啟動:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:264 +#, kde-format +msgid "Vendor:" +msgstr "廠商:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (加上 %1 個依賴庫)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:103 +#, kde-format +msgid "Repository URL:" +msgstr "軟體庫 URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "Packages to remove" +msgstr "個軟體包要移除" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:190 +#, kde-format +msgid "" +"The following packages will be removed by the update:\n" +"
    • %1
    \n" +"in order to install:\n" +"
    • %2
    " +msgstr "" +"下列軟體包將會因更新而移除:\n" +"
    • %1
    \n" +"為了安裝:\n" +"
    • %2
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:207 +#, kde-format +msgid "Please restart the computer to finish the installation" +msgstr "請重新開啟電腦後,方可完成安裝程序" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:297 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"要求變更型態 %1 的媒體:\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:310 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:260 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"軟體包 %1 的提供廠商 %2 要求您接受他們的授權條款:\n" +"%3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:386 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:287 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "在 %2 中缺少對 %1 的簽名" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:387 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:288 +#, kde-format +msgid "" +"Do you trust the following key?\n" +"\n" +"Url: %1\n" +"User: %2\n" +"Key: %3\n" +"Fingerprint: %4\n" +"Timestamp: %4\n" +msgstr "" +"你確定要信任這個金鑰嗎?\n" +"\n" +"連結: %1\n" +"用戶: %2\n" +"金鑰: %3\n" +"指紋: %4\n" +"時間戳: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "Confirm package removal" +msgstr "確定移除軟體包" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:180 +#, kde-format +msgid "" +"This action will also remove the following package:\n" +"%2" +msgid_plural "" +"This action will also remove the following packages:\n" +"%2" +msgstr[0] "" +"這動作也會移除下述的軟體包:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:50 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:288 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:61 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "這個 Snap 程序需要安全性監禁措施被停用。" + +#: libdiscover/DiscoverBackendsFactory.cpp:115 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "列出所有要載入的後端介面,以逗號分隔。" + +#: libdiscover/resources/AbstractResource.cpp:104 +#, kde-format +msgid "Broken" +msgstr "已破損" + +#: libdiscover/resources/AbstractResource.cpp:105 +#, kde-format +msgid "Available" +msgstr "可使用" + +#: libdiscover/resources/AbstractResource.cpp:106 +#, kde-format +msgid "Installed" +msgstr "已安裝" + +#: libdiscover/resources/AbstractResource.cpp:107 +#, kde-format +msgid "Upgradeable" +msgstr "可更新" + +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/AbstractResource.cpp:252 +#, kde-format +msgid "Launch" +msgstr "執行" + +#: libdiscover/resources/ResourcesModel.cpp:73 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "檢查更新" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, kde-format +msgid "Update" +msgstr "更新" + +#: libdiscover/Transaction/Transaction.cpp:148 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:88 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "啟動中" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "等待中" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "下載中" + +#: libdiscover/Transaction/TransactionModel.cpp:96 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "安裝中" + +#: libdiscover/Transaction/TransactionModel.cpp:98 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "移除中" + +#: libdiscover/Transaction/TransactionModel.cpp:100 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "變更外加功能" + +#: libdiscover/Transaction/TransactionModel.cpp:104 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "完成" + +#: libdiscover/Transaction/TransactionModel.cpp:106 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "已失敗" + +#: libdiscover/Transaction/TransactionModel.cpp:108 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "已取消" + +#: libdiscover/UpdateModel/UpdateModel.cpp:138 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "應用程式更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:139 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "系統更新" \ No newline at end of file diff --git a/po/zh_TW/plasma-discover-notifier.po b/po/zh_TW/plasma-discover-notifier.po new file mode 100644 index 0000000..ce15902 --- /dev/null +++ b/po/zh_TW/plasma-discover-notifier.po @@ -0,0 +1,93 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin, 2015. +# Jeff Huang , 2016. +# pan93412 , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-14 06:47+0200\n" +"PO-Revision-Date: 2018-07-12 19:20+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: notifier/DiscoverNotifier.cpp:84 +#, kde-format +msgid "Update" +msgstr "更新" + +#: notifier/DiscoverNotifier.cpp:143 +#, kde-format +msgid "Security updates available" +msgstr "有可用的安全性更新" + +#: notifier/DiscoverNotifier.cpp:145 +#, kde-format +msgid "Updates available" +msgstr "有可用的更新" + +#: notifier/DiscoverNotifier.cpp:147 +#, kde-format +msgid "System up to date" +msgstr "系統已更新" + +#: notifier/DiscoverNotifier.cpp:149 +#, kde-format +msgid "Computer needs to restart" +msgstr "電腦需要重新開機" + +#: notifier/DiscoverNotifier.cpp:158 +#, kde-format +msgctxt "First part of '%1, %2'" +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 個軟體包需要更新" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgctxt "Second part of '%1, %2'" +msgid "of which 1 is security update" +msgid_plural "of which %1 are security updates" +msgstr[0] "其中有 %1 個安全性更新" + +#: notifier/DiscoverNotifier.cpp:164 +#, kde-format +msgctxt "" +"%1 is '%1 packages to update' and %2 is 'of which %1 is security updates'" +msgid "%1, %2" +msgstr "%1, %2" + +#: notifier/DiscoverNotifier.cpp:166 +#, kde-format +msgid "1 package to update" +msgid_plural "%1 packages to update" +msgstr[0] "%1 個軟體包需要更新" + +#: notifier/DiscoverNotifier.cpp:168 +#, kde-format +msgid "1 security update" +msgid_plural "%1 security updates" +msgstr[0] "%1 個安全性更新" + +#: notifier/DiscoverNotifier.cpp:170 +#, kde-format +msgid "No packages to update" +msgstr "沒有軟體包需要更新" + +#: notifier/DiscoverNotifier.cpp:203 +#, kde-format +msgid "Restart is required" +msgstr "需要重開機" + +#: notifier/DiscoverNotifier.cpp:204 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "這系統需要重新開啟,以讓更新生效。" \ No newline at end of file diff --git a/po/zh_TW/plasma-discover.po b/po/zh_TW/plasma-discover.po new file mode 100644 index 0000000..0023290 --- /dev/null +++ b/po/zh_TW/plasma-discover.po @@ -0,0 +1,645 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin Weng , 2012, 2013, 2014, 2015. +# Jeff Huang , 2016, 2017. +# pan93412 , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-12-15 07:17+0100\n" +"PO-Revision-Date: 2018-10-31 01:41+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: discover/DiscoverObject.cpp:201 +#, kde-format +msgid "Could not find category '%1'" +msgstr "找不到分類 '%1'" + +#: discover/DiscoverObject.cpp:234 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "無法在無 Flatpak 前端 %1 情況下與 Flatpak 資源互動。請先安裝它。" + +#: discover/DiscoverObject.cpp:237 discover/DiscoverObject.cpp:265 +#, kde-format +msgid "Couldn't open %1" +msgstr "無法開啟 %1" + +#: discover/main.cpp:45 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "依軟體包名稱直接開啟指定的應用程式。" + +#: discover/main.cpp:46 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "以可以處理此 MIME 型態的程式來開啟。" + +#: discover/main.cpp:47 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "依類別顯示項目清單。" + +#: discover/main.cpp:48 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "以指定模式開啟 Muon 軟體中心。模式與工作列按鍵相關。" + +#: discover/main.cpp:49 +#, kde-format +msgid "List all the available modes." +msgstr "列出所有可用的模式。" + +#: discover/main.cpp:50 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "簡潔模式(自動/簡潔/完整)。" + +#: discover/main.cpp:51 +#, kde-format +msgid "Local package file to install" +msgstr "要安裝的本地軟體包" + +#: discover/main.cpp:52 +#, kde-format +msgid "List all the available backends." +msgstr "列出所有可用的後端介面。" + +#: discover/main.cpp:54 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "支援 appstream:網址機制" + +#: discover/main.cpp:96 discover/qml/DiscoverWindow.qml:48 +#, kde-format +msgid "Discover" +msgstr "探詢" + +#: discover/main.cpp:96 +#, kde-format +msgid "An application explorer" +msgstr "應用程式探詢器" + +#: discover/main.cpp:97 +#, kde-format +msgid "© 2010-2018 Plasma Development Team" +msgstr "© 2010-2018 Plasma 開發團隊" + +#: discover/main.cpp:98 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:99 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Jonathan Thomas" + +#: discover/main.cpp:111 +#, kde-format +msgid "Available backends:\n" +msgstr "可用的後端介面:\n" + +#: discover/main.cpp:141 +#, kde-format +msgid "Available modes:\n" +msgstr "可用的模式:\n" + +#: discover/qml/AddonsView.qml:24 discover/qml/ApplicationPage.qml:193 +#, kde-format +msgid "Addons" +msgstr "外加功能" + +#: discover/qml/AddonsView.qml:73 +#, kde-format +msgid "Apply Changes" +msgstr "套用變更" + +#: discover/qml/AddonsView.qml:80 +#, kde-format +msgid "Discard" +msgstr "丟棄" + +#: discover/qml/AddonsView.qml:91 +#, kde-format +msgid "More..." +msgstr "更多..." + +#: discover/qml/AddSourceDialog.qml:49 +#, kde-format +msgid "Add a new %1 repository" +msgstr "增加一個新的 %1 軟體庫" + +#: discover/qml/AddSourceDialog.qml:74 +#, kde-format +msgid "Add" +msgstr "新增" + +#: discover/qml/AddSourceDialog.qml:86 discover/qml/DiscoverWindow.qml:182 +#: discover/qml/SourcesPage.qml:149 discover/qml/UpdatesPage.qml:71 +#, kde-format +msgid "Cancel" +msgstr "取消" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 個評分" + +#: discover/qml/ApplicationDelegate.qml:97 discover/qml/ApplicationPage.qml:126 +#, kde-format +msgid "No ratings yet" +msgstr "目前還沒有評分" + +#: discover/qml/ApplicationPage.qml:55 +#, kde-format +msgid "Sources" +msgstr "來源" + +#: discover/qml/ApplicationPage.qml:164 +#, kde-format +msgid "What's New" +msgstr "發掘新項目" + +#: discover/qml/ApplicationPage.qml:205 +#, kde-format +msgid "Reviews" +msgstr "評論" + +#: discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Show %1 review..." +msgid_plural "Show all %1 reviews..." +msgstr[0] "顯示 %1 的所有評論…" + +#: discover/qml/ApplicationPage.qml:246 +#, kde-format +msgid "Write a review!" +msgstr "撰寫一個評論!" + +#: discover/qml/ApplicationPage.qml:248 +#, kde-format +msgid "Be the first to write a review!" +msgstr "當第一個撰寫評論的人吧!" + +#: discover/qml/ApplicationPage.qml:253 +#, kde-format +msgid "Install this app to write a review!" +msgstr "安裝這個應用程式以撰寫評論吧!" + +#: discover/qml/ApplicationPage.qml:255 +#, kde-format +msgid "Install this app and be the first to write a review!" +msgstr "安裝這個應用程式,然後當第一個評論這個程式的人!" + +#: discover/qml/ApplicationPage.qml:296 +#, kde-format +msgid "Category:" +msgstr "分類:" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "版本:" + +#: discover/qml/ApplicationPage.qml:321 +#, kde-format +msgid "%1, released on %2" +msgstr "%1,於 %2 釋出" + +#: discover/qml/ApplicationPage.qml:338 +#, kde-format +msgid "Size:" +msgstr "大小:" + +#: discover/qml/ApplicationPage.qml:349 +#, kde-format +msgid "Source:" +msgstr "來源:" + +#: discover/qml/ApplicationPage.qml:361 +#, kde-format +msgid "License:" +msgstr "授權:" + +#: discover/qml/ApplicationPage.qml:376 +#, kde-format +msgid "Homepage:" +msgstr "首頁:" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "User Guide:" +msgstr "用戶指南:" + +#: discover/qml/ApplicationPage.qml:402 +#, kde-format +msgid "Donate:" +msgstr "贊助:" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a Problem:" +msgstr "回報問題:" + +#: discover/qml/ApplicationsListPage.qml:69 +#, kde-format +msgid "Sort: %1" +msgstr "排序:%1" + +#: discover/qml/ApplicationsListPage.qml:72 +#, kde-format +msgid "Name" +msgstr "名稱" + +#: discover/qml/ApplicationsListPage.qml:82 +#, kde-format +msgid "Rating" +msgstr "評分" + +#: discover/qml/ApplicationsListPage.qml:92 +#, kde-format +msgid "Size" +msgstr "大小" + +#: discover/qml/ApplicationsListPage.qml:102 +#, kde-format +msgid "Release Date" +msgstr "釋出日期" + +#: discover/qml/ApplicationsListPage.qml:143 +#, kde-format +msgid "Sorry, nothing found..." +msgstr "抱歉,找不到東西..." + +#: discover/qml/ApplicationsListPage.qml:190 +#, kde-format +msgid "Still looking..." +msgstr "依然在尋找中..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "功能" + +#: discover/qml/DiscoverWindow.qml:43 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "以 root 身份執行是不被鼓勵且不需要的。" + +#: discover/qml/DiscoverWindow.qml:57 +#, kde-format +msgid "Search" +msgstr "搜尋" + +#: discover/qml/DiscoverWindow.qml:64 discover/qml/InstalledPage.qml:15 +#, kde-format +msgid "Installed" +msgstr "已安裝" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "Checking for updates..." +msgstr "正在檢查更新..." + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgid "No Updates" +msgstr "沒有更新" + +#: discover/qml/DiscoverWindow.qml:71 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "更新 (%1)" + +#: discover/qml/DiscoverWindow.qml:78 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "設定" + +#: discover/qml/DiscoverWindow.qml:118 +#, kde-format +msgid "Sorry..." +msgstr "抱歉 ..." + +#: discover/qml/DiscoverWindow.qml:121 +#, kde-format +msgid "Could not close the application, there are tasks that need to be done." +msgstr "無法關閉應用程式,這些是需要完成的工作" + +#: discover/qml/DiscoverWindow.qml:123 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "找不到資源:%1" + +#: discover/qml/DiscoverWindow.qml:172 discover/qml/SourcesPage.qml:139 +#, kde-format +msgid "Proceed" +msgstr "繼續" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "安裝" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "移除" + +#: discover/qml/LoadingPage.qml:8 +#, kde-format +msgid "Loading..." +msgstr "載入中..." + +#: discover/qml/navigation.js:32 +#, kde-format +msgid "Resources for '%1'" +msgstr "%1 的資源" + +#: discover/qml/navigation.js:56 +#, kde-format +msgid "Extensions..." +msgstr "副檔名..." + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks (%1%)" +msgstr "工作 (%1%)" + +#: discover/qml/ProgressView.qml:10 +#, kde-format +msgid "Tasks" +msgstr "工作" + +#: discover/qml/ProgressView.qml:76 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:77 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:37 +#, kde-format +msgid "Tell us about this review!" +msgstr "告訴我們關於這個評論!" + +#: discover/qml/ReviewDelegate.qml:38 +#, kde-format +msgid "%1 out of %2 people found this review useful" +msgstr "%2 個人中的 %1 個覺得這個評論很有用" + +#: discover/qml/ReviewDelegate.qml:47 +#, kde-format +msgid "unknown reviewer" +msgstr "未知的檢視者" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "%1 by %2" +msgstr "%1 由 %2" + +#: discover/qml/ReviewDelegate.qml:48 +#, kde-format +msgid "Comment by %1" +msgstr "來自 %1 的註解" + +#: discover/qml/ReviewDelegate.qml:73 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"有用嗎?是的/沒用" + +#: discover/qml/ReviewDelegate.qml:76 +#, kde-format +msgid "Useful? Yes/No" +msgstr "" +"有用嗎?是的/沒用" + +#: discover/qml/ReviewDelegate.qml:79 +#, kde-format +msgid "Useful? Yes/No" +msgstr "有用嗎?是的/沒用" + +#: discover/qml/ReviewDialog.qml:21 +#, kde-format +msgid "Reviewing '%1'" +msgstr "正在評論「%1」" + +#: discover/qml/ReviewDialog.qml:22 +#, kde-format +msgid "Rating:" +msgstr "評分:" + +#: discover/qml/ReviewDialog.qml:30 +#, kde-format +msgid "Submission name: %1" +msgstr "提交名稱:%1" + +#: discover/qml/ReviewDialog.qml:32 +#, kde-format +msgid "Title:" +msgstr "標題:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Review:" +msgstr "評論:" + +#: discover/qml/ReviewDialog.qml:51 +#, kde-format +msgid "Enter a rating" +msgstr "輸入一個評論" + +#: discover/qml/ReviewDialog.qml:52 +#, kde-format +msgid "Write a title" +msgstr "撰寫一個標題" + +#: discover/qml/ReviewDialog.qml:53 +#, kde-format +msgid "Keep writing..." +msgstr "正在撰寫..." + +#: discover/qml/ReviewDialog.qml:54 +#, kde-format +msgid "Too long!" +msgstr "太長了!" + +#: discover/qml/ReviewDialog.qml:55 +#, kde-format +msgid "Submit review" +msgstr "提交評論" + +#: discover/qml/ReviewsPage.qml:67 +#, kde-format +msgid "Review..." +msgstr "評論 ..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search..." +msgstr "搜尋..." + +#: discover/qml/SearchField.qml:31 +#, kde-format +msgid "Search in '%1'..." +msgstr "搜尋於 %1..." + +#: discover/qml/SourcesPage.qml:54 +#, kde-format +msgid "%1 (Default)" +msgstr "%1(預設值)" + +#: discover/qml/SourcesPage.qml:99 +#, kde-format +msgid "Make default" +msgstr "設為預設值" + +#: discover/qml/SourcesPage.qml:104 +#, kde-format +msgid "Add Source..." +msgstr "新增來源 ..." + +#: discover/qml/SourcesPage.qml:185 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "無法增加「%1」設定" + +#: discover/qml/SourcesPage.qml:195 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "無法移除「%1」設定" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Delete the origin" +msgstr "刪除來源" + +#: discover/qml/SourcesPage.qml:205 +#, kde-format +msgid "Failed to remove the source '%1'" +msgstr "無法移除資源「%1」" + +#: discover/qml/SourcesPage.qml:241 +#, kde-format +msgid "Missing Backends" +msgstr "遺失後輟" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update Selected" +msgstr "更新選取的" + +#: discover/qml/UpdatesPage.qml:40 +#, kde-format +msgid "Update All" +msgstr "全部更新" + +#: discover/qml/UpdatesPage.qml:97 +#, kde-format +msgid "updates selected" +msgstr "已選取的更新" + +#: discover/qml/UpdatesPage.qml:105 +#, kde-format +msgid "updates not selected" +msgstr "未選取的更新" + +#: discover/qml/UpdatesPage.qml:213 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: discover/qml/UpdatesPage.qml:250 +#, kde-format +msgid "More Information..." +msgstr "更多資訊..." + +#: discover/qml/UpdatesPage.qml:277 +#, kde-format +msgctxt "@info" +msgid "Fetching..." +msgstr "抓取中..." + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgctxt "@info" +msgid "Looking for updates" +msgstr "正在檢查更新" + +#: discover/qml/UpdatesPage.qml:282 +#, kde-format +msgctxt "@info" +msgid "Updating..." +msgstr "更新中..." + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "@info" +msgid "Fetching updates" +msgstr "抓取更新中" + +#: discover/qml/UpdatesPage.qml:287 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:291 discover/qml/UpdatesPage.qml:296 +#, kde-format +msgctxt "@info" +msgid "The system is up to date" +msgstr "系統已為最新" + +#: discover/qml/UpdatesPage.qml:292 discover/qml/UpdatesPage.qml:297 +#, kde-format +msgctxt "@info" +msgid "No updates" +msgstr "無更新" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgctxt "@info" +msgid "No updates are available" +msgstr "沒有可用的更新" + +#: discover/qml/UpdatesPage.qml:305 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "應該檢查更新" + +#: discover/qml/UpdatesPage.qml:309 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "不知道上次檢查更新的時間" + +#: discover/qml/UrlButton.qml:23 +#, kde-format +msgid "Copy link address" +msgstr "複製連結位址" \ No newline at end of file diff --git a/po/zh_TW/plasma_applet_org.kde.discovernotifier.po b/po/zh_TW/plasma_applet_org.kde.discovernotifier.po new file mode 100644 index 0000000..f5af351 --- /dev/null +++ b/po/zh_TW/plasma_applet_org.kde.discovernotifier.po @@ -0,0 +1,39 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Franklin, 2014, 2015. +# pan93412 , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2018-09-25 06:58+0200\n" +"PO-Revision-Date: 2018-07-21 14:34+0800\n" +"Last-Translator: pan93412 \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 2.0\n" + +#: contents/ui/Full.qml:51 +#, kde-format +msgid "View Updates" +msgstr "檢視更新" + +#: contents/ui/Full.qml:52 +#, kde-format +msgid "Launches Discover to update the software" +msgstr "啟動探索以更新軟體" + +#: contents/ui/main.qml:42 +#, kde-format +msgid "Open Software Center..." +msgstr "開啟程式中心…" + +#: contents/ui/main.qml:43 +#, kde-format +msgid "See Updates..." +msgstr "查看更新..." \ No newline at end of file